微信小程序数据库一次查询多个条件的方法

解决了一个小问题

// 例如我的数据为以下
{
          
   _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] :

经验分享 程序员 微信小程序 职场和发展