订购$ and和$ or结果相同的查询猫鼬

时间:2019-04-15 18:42:34

标签: javascript mongodb react-native mongoose

我需要获取所有与数组内容完全匹配且与任何元素都匹配的文档。为此,我逐步进行了搜索,然后将结果合并在一起,例如:

const objectIds = array.map(id => (
  {
    mongoArray: {
      $elemMatch: {
        ids: new ObjectId(id)
      }
    }
  }
))

let results = await Collection.find({
  $or: objectIds
}).lean()

const matchAnd = await Collection.find({
  $and: objectIds
}).lean()

results.push(matchAnd)

该方法的问题是1)结果将重复,并且2)我正在对数据库进行两次查询。

我的问题是:有没有办法在同一个查询中同时删除两个重复项,并把$和(如果有的话)匹配项放在最后?

0 个答案:

没有答案