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

mongoDB(mongoengine)のキーでリスト内の辞書を取得する

    私はMongoEngineに精通していませんが、$射影演算子は配列をフィルター処理して、一致した要素のみを表示できます。 Mongoシェルの場合:

    > db.foo.insert({"items": [{"id": 1}, {"id": 2}, {"id": 3}]})
    > db.foo.find({'items.id': 1}, {'items.$': true})
    { "_id" : ObjectId("51ce29b68b178484ff2a01ed"), "items" : [  {  "id" : 1 } ] }
    

    詳細: http://docs.mongodb.org/manual/reference/projection / position /

    MongoEngineでは次のように思われます:

    Foo.objects(__raw__={'items.id': 1}).only('items.$')
    

    詳細: http://mongoengine-odm.readthedocs .org / en / latest / guide / querying.html#raw-queries



    1. MongoDB 3.6.22008R2Plusがインストールされない

    2. mongodb-フィールドが多くの値の1つであるかどうかを確認します

    3. MongoDBとの関連性による並べ替え

    4. クエリのキーにあるMongoDBワイルドカード