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

MongoDB:ネストされたドキュメント内のIDでドキュメントを検索する方法

    ドット表記を使用する:

    フィールドに埋め込みドキュメントが含まれている場合、クエリでは、埋め込みドキュメントの完全一致を指定するか、ドット表記を使用して埋め込みドキュメントの個々のフィールドで一致を指定できます。

    db.coll.find({
       "accounts._id" :ObjectId("5546329a470019850084a611")
    })
    

    _idがある配列の一部のみを出力する必要がある場合は、射影にドルを使用する必要があります

    位置$演算子は、クエリ結果からのコンテンツを制限して、クエリドキュメントに一致する最初の要素のみを含めます。

    クエリは次のようになります:

    db.coll.find({
       "accounts._id" :ObjectId("5546329a470019850084a611")
    }, {
       "accounts.$.": 1
    })
    

    追記 変更した質問のように出力が必要な場合は、次を使用してください:

    db.coll.find({
       "accounts._id" :ObjectId("5546329a470019850084a611")
     }, {
       accounts : 0
     })
    


    1. Python-redis keys()は、文字列ではなくバイトオブジェクトのリストを返します

    2. MongoDb-タイプをIntからDoubleに変更します

    3. 春のデータmongodbグループ

    4. NoSQLデータベースの戦い-MongoDBとFirebaseの比較