微信小程序数据库一次查询多个条件的方法
解决了一个小问题
// 例如我的数据为以下
{
_id:12333,_openid:myopenid,question:Balabala....}
{
_id:12666,_openid:myopenid,question:Balabala....}
{
_id:12777,_openid:other2openid,question:Balabala....}
{
_id:12788,_openid:other1openid,question:Balabala....}
{
_id:12799,_openid:other3openid,question:BalDDala....}
{
_id:13009,_openid:other4openid,question:BalDDala....}
这时我想要查询 我的 myopenid 所有的数据,并外加两条明确的 _id: ‘12777’ or ‘12788’
经过查阅,最终代码如下
const _ = db.command
db.collection(database).where(_.or([
{
_openid : myopenid},
{
_id: _.in([12777,12788])} // 存放 需要的id
])
).orderBy(addDate,asc).get()
查询结果
data: [
{_id:12333,_openid:myopenid,question:Balabala....} // myopenid
{_id:12666,_openid:myopenid,question:Balabala....} // myopenid
{_id:12777,_openid:other2openid,question:Balabala....} // _id: 12777
{_id:12788,_openid:other1openid,question:Balabala....} // _id: 12788
]
_.or 可以用来界定多个查询条件
通常搭配其他操作符使用
where({
progress : _.gt(80).or(_.lt(20))
})
也可以使用数组的方式多值查询
_.or([value1,value2]) ---------------------- let arr = [value1,value2] _.or(arr)
_.in 可以用来指定查询的值为指定的值
let arr = [value1,value2] _.in(arr)
参考文献
[1] :
[2] :
上一篇:
uniapp开发微信小程序-2.页面制作
