评论

动态数组元素 多字段查询 (简单的已经实现,更通用的等你实现)

多字段查询,动态字段数目查询,数组元素做字段查询。

简单的已经实现,如下。
小程序云上有集合temp:
{item:1001,……}
{item:1002,……}
{item:1003,……}
{item:1004,……}
{item:1005,……}

小程序段有动态数组:arr=[1001,1003……],

要求:查询出集合temp中item等于arr元素的记录。

//code:
//构建一个数组,用于查询的条件。
var arrCondition=new Array()
arrCondition =[]
for (var j = 0; j < d.arr[i].length;j++){
arrCondition.push({ item: arr[j]})

}

//查询语句。
db.collection(‘temp’).where(_.or(arrCondition)).get()
.then(res => {
console.log(“res.data:”, res.data)
}

问题是更通用的怎样实现,例如在下列情况下:
1. item: _.in([arr[j]]);
2. item: $.eq([arr[j]]);
…… ……
…… ……

    期待有大佬给出解决方法,更期待官方对于此类问题作出优化。
最后一次编辑于  2019-12-05  
点赞 0
收藏
评论

1 个评论

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-12-05

    查询item为arr的所有记录

    where({

        item: _.in(arr)

    })

    2019-12-05
    赞同
    回复 4
    • D.h
      D.h
      2019-12-06
      no
      2019-12-06
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-12-06回复D.h
      no什么 ,不行?
      2019-12-06
      回复
    • 上官狗剩
      上官狗剩
      2019-12-18
      老哥,我在where里面加入了_.in()之后编译器报错了
      2019-12-18
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-12-19回复上官狗剩
      const _ = db.command
      db.collection('xxxx').where(
          item: _.in(arr
      }).get()
      2019-12-19
      回复
登录 后发表内容