sql >> データベース >  >> NoSQL >> MongoDB

サブドキュメントの配列からフィールド値を取得します

    これは、集約フレームワークを使用して行うことができます。

    db.repository.aggregate([ 
        { "$match": { 
            "datetime_int": { "$gte": 1451952000 }, 
            "software.adobe.licenses.key" : { "$exists" : true } 
        }}, 
        { "$project": { 
            "hash": 1, 
            "key": { 
                "$map": { 
                    "input": "$software.adobe.licenses", 
                    "as": "soft", 
                    "in": "$$soft.key"
                }
            }
        }}
    ])
    

    MongoDB 3.2以降、サブドキュメント配列フィールドを直接投影できます。

    { "$project": { "hash": 1, "key": "$software.adobe.licenses.key"}}
    


    1. mongodbの配列内のすべての要素を更新します

    2. 制限を使用するときにMongoDBでドキュメントの総数を取得する

    3. アセンブリまたはWindowsメタデータファイル'System.Data.dll'を解決できません

    4. PyMongoとMongoEngineforDjango