$ addToSet使用第二个参数时添加重复项

时间:2019-05-28 13:35:23

标签: javascript node.js mongodb mongodb-query

我有这样的文件:

    {
        "_id" : ObjectId("557eaf444ba222d545c3dfcc"),
        "guest_id" : ObjectId("5c2aad871dbbe3194ed45023"),
        "parameter" : 354,
        "created" : ISODate("2019-01-01 00:00:05.683Z"),
    }

我需要通过“参数”和具有唯一的guest_id +创建的字段作为数组的数组来获得分组的项目。 我尝试这样做:

db.events.aggregate([
      {
          $group:
          {
              _id: "$parameter",
              guestList: {$addToSet: {id: "$guest_id", created: "$created"} },
              count: {$sum: 1}
          }
      }
  ]);

结果:guestList包含重复的来宾ID。如果从这样的请求中删除“创建的”:

guestList: {$addToSet: {id: "$guest_id"} },

它可以正常工作,但是我需要在guestList数组中创建值。

是否有人对如何执行此任务有任何想法?

0 个答案:

没有答案