条件付きのコレクション リストで複数のフィールドを取得したいと思います。集約リクエストを試みましたが、エラーが発生しました。
私の要求
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}