如何找到带有一些没有重复值的键的文档?

时间:2018-07-02 11:21:53

标签: mongodb

我有一个文档Keelung,该文档的数组movie有6个对象。

我想找到文档db.getCollection('Keelung').find({}),但在enName中没有重复的值。

enter image description here

例如,如果有两个enName值为Truth or Dare,我的查询命令将返回5个对象。

我不知道如何实现,请尝试db.getCollection('Keelung').find({ enName : true, dropDups : true })显然不正确。

在mongodb中有什么方法可以实现?还是我应该在前端对其进行过滤?

任何帮助将不胜感激。预先感谢。

根据@Sergio建议,我在Google上找到$addToSe

db.getCollection('Keelung').aggregate([
  { $unwind: '$data' },
  { $group: { _id: '$_id', movie: { $addToSet: '$enName' } } }
]);

什么都没发生,我不知道如何在此命令中使用查找查询...

1 个答案:

答案 0 :(得分:1)

您需要$group聚合

db.getCollection('Keelung').aggregate([
  { "$unwind": '$movie' },
  { "$group": {
    "_id": "$movie.enName",
    "data": {
      "$push": {
        "field1": "$field1",
        "field2": "$field2",
        ...
      }
    }
  }}
]);