云函数中使用下面两种查询,得到2种不同的结果。
console.log("--------------------------------")
const testData = await db.collection('test').where({
test2: _.eq(1).or(_.eq(2)),
test1: _.eq(false).or(_.exists(false))
}).get()
console.log(testData)
console.log("--------------------------------")
const testData2 = await db.collection('test').where(_.and([
{test2: _.eq(1).or(_.eq(2))},
{test1: _.eq(false).or(_.exists(false))},
])).get()
console.log(testData2)
console.log("--------------------------------")
打印的日志
--------------------------------
{
"data": [
{
"_id": "28ee4e3e60e71bf828dc9bd62b50045c",
"test1": true,
"test2": 1
},
{
"_id": "79550af260e71c48253d51761594d600",
"test1": true,
"test2": 2
}
],
"errMsg": "collection.get:ok"
}
--------------------------------
{
"data": [],
"errMsg": "collection.get:ok"
}
--------------------------------
而在云开发控制台中,这两个得到的结果是相同的。
建议选第二种。
第一种会有意料之外的结果。