在微信小程序云开发的数据库 API 中,你可以使用不同的查询筛选条件来过滤和获取特定的文档。以下是一些常见的查询筛选条件:

1. 等于条件(Equal):

   通过 db.command.eq 方法创建等于条件,例如:
   const db = wx.cloud.database();
   const collection = db.collection('myCollection');

   // 查询 age 字段等于 25 的文档
   collection.where({
     age: db.command.eq(25)
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

2. 不等于条件(Not Equal):

   通过 db.command.neq 方法创建不等于条件,例如:
   // 查询 age 字段不等于 25 的文档
   collection.where({
     age: db.command.neq(25)
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

3. 大于条件(Greater Than):

   通过 db.command.gt 方法创建大于条件,例如:
   // 查询 age 字段大于 20 的文档
   collection.where({
     age: db.command.gt(20)
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

4. 小于条件(Less Than):

   通过 db.command.lt 方法创建小于条件,例如:
   // 查询 age 字段小于 30 的文档
   collection.where({
     age: db.command.lt(30)
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

5. 范围条件

   通过组合使用 db.command.gt 和 db.command.lt 创建范围条件,例如:
   // 查询 age 字段在 20 到 30 之间的文档
   collection.where({
     age: db.command.gt(20).and(db.command.lt(30))
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

6. 包含条件

   通过 db.command.in 方法创建包含条件,例如:
   // 查询 age 字段在 [20, 25, 30] 中的文档
   collection.where({
     age: db.command.in([20, 25, 30])
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

7. 逻辑与条件

   通过 db.command.and 方法创建逻辑与条件,例如:
   // 查询同时满足 age 大于 20 和 gender 为 'male' 的文档
   collection.where({
     age: db.command.gt(20),
     gender: 'male'
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

8. 逻辑或条件

   通过 db.command.or 方法创建逻辑或条件,例如:
   // 查询满足 age 大于 20 或 gender 为 'female' 的文档
   collection.where({
     age: db.command.gt(20)
   }).or({
     gender: 'female'
   }).get({
     success: res => {
       console.log('符合条件的文档:', res.data);
     },
     fail: err => {
       console.error(err);
     }
   });

这些条件可以根据你的实际需求进行组合和使用,以实现更灵活的数据库查询。更详细的文档可以在[微信官方文档 - 云开发数据库查询](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/query.html)中找到。


转载请注明出处:http://www.zyzy.cn/article/detail/1178/微信小程序