在微信小程序云开发中,你可以使用查询指令来构建更复杂的数据库查询。这些查询指令通常使用 db.command 对象提供,用于进行特定的操作或条件约束。

以下是一些常见的查询指令示例:

1. $eq 等于条件:
const result = await collection.where({
  field: db.command.eq('value')
}).get()

2. $neq 不等于条件:
const result = await collection.where({
  field: db.command.neq('value')
}).get()

3. $gt 大于条件:
const result = await collection.where({
  field: db.command.gt(50)
}).get()

4. $lt 小于条件:
const result = await collection.where({
  field: db.command.lt(100)
}).get()

5. $gte 大于等于条件:
const result = await collection.where({
  field: db.command.gte(50)
}).get()

6. $lte 小于等于条件:
const result = await collection.where({
  field: db.command.lte(100)
}).get()

7. $in 包含于条件:
const result = await collection.where({
  field: db.command.in(['value1', 'value2'])
}).get()

8. $nin 不包含于条件:
const result = await collection.where({
  field: db.command.nin(['value1', 'value2'])
}).get()

9. $regex 正则表达式条件:
const result = await collection.where({
  field: db.command.regex({
    regexp: 'pattern',
    options: 'i'  // 忽略大小写
  })
}).get()

10. $geoNear 地理位置附近查询:
const point = new db.Geo.Point(113, 23);  // 经度、纬度
const result = await collection.where({
  location: db.command.geoNear({
    geometry: point,
    maxDistance: 1000  // 查询半径,单位为米
  })
}).get()

这只是一些常见的查询指令的示例,你可以根据实际需求组合这些指令来构建复杂的查询。在使用这些条件时,请确保已经在云开发控制台中创建了相应的索引,以保证查询的性能。


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