条件付きのコレクション リストで複数のフィールドを取得したいと思います。集約リクエストを試みましたが、エラーが発生しました。
私の要求
db.people.aggregate({$match:{createdDate:{$exists:true},"ad":"noc2"}},{$group:{value2:$value2}});
私のJson:
デシベル。テスト。findOne();
{
"_id" : ObjectId("51e7dd16d2f8db27b56ea282"),
"広告" : "noc2",
「リスト」:{
"p45": {
"id": "p45",
"date" : ISODate("2014-01-01T12:18:30.568Z"),
「値3」: 21、
「値1」: 100、
「値2」: 489
}、
"p6": {
「ID」:「p6」
"date" : ISODate("2013-07-18T12:18:30.568Z"),
「値3」: 21、
「値1」: 100、
「値2」: 489
}、
"p4578": {
「ID」:「4578」
"date" : ISODate("2013-07-18T12:18:30.568Z"),
「値3」: 21、
「値1」: 100、
「値2」: 489
}
}
}
たとえば、このjsonを結果に取得したい:
{id:p45,value:587},{id:p4578,value:47},{id:p6,value:2}