0

条件付きのコレクション リストで複数のフィールドを取得したいと思います。集約リクエストを試みましたが、エラーが発生しました。

私の要求

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}
4

1 に答える 1