- 需求的场景描述(希望解决的问题)
官方文档的例子:
const cloud = require('wx-server-sdk')cloud.init()const db = cloud.database()const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection('todo').where({
memory: _.or(_.gt(80), _.lt(20))
}).get()
} catch(e) {
console.error(e)
}}
- 希望提供的能力
如果我要查询等于80或者20的值应该怎么写?可以像下面这样吗?请了解的朋友指点
const cloud = require('wx-server-sdk')cloud.init()const db = cloud.database()const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection('todo').where({
memory: _.or([80, 20])
}).get()
} catch(e) {
console.error(e)
}}
memory: _.or(_.eq(80), _.eq(20))试试
eq是等于
明白了,谢谢
如果那个80,20的数组是变化的呢,比如是是通过其他查询得到的一个数组,长度可能不是2个元素呢,这种怎么写?
这个就要自己拼接了,比如:
let a = 1;let b = 1;let c = 1;
let str = '_.or(_.lt('+a+'), _.eq('+b+'),_.gt('+c+'))';
db.collection('todo').where({ memory:str }).get()
差不多就这样
谢谢指导。
谈不上指导,就是经验,仅供参考