mongodb聚合组$推

时间:2016-05-22 16:08:52

标签: mongodb aggregation-framework

我有这段代码:

{
    _id: {
      "$push": "$category.name" 
    }
}

但是当我运行它时,它会出错:

invalid operator $push

1 个答案:

答案 0 :(得分:1)

使用$ push in $ group(_id字段)的坏方法,$ group(_id字段)用于对集合中的数据进行分组,因此$ push是" _id字段中的无效运算符" 所以只有你得到这个错误

$ push使用这种方式

这是我的数据

{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-01-01T08:00:00Z") }
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "date" : ISODate("2014-02-03T09:00:00Z") }

db.sales.aggregate([
 {
   $group:
     {
       _id: { day: { $dayOfYear: "$date"}},
       itemsSold: { $push:  { item: "$item"} }
     }
 }])