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

MongoDBネストされたドキュメントの検索

    私が理解しているように、あなたはこのようなドキュメント構造を持っています:

    {
       "someProperty" : 1,
       "sendingUser" : {
                   userID : 34343,
                   name : "Joe Bloggs"
                 },
       "recivingUser" : {
                   userID : 34345,
                   name : "Joe Bloggs"
                 }
    }
    

    したがって、userID =34345の送信ユーザーを見つける必要がある場合は、次のようにする必要があります(実際には、mongo用のc#ドライバーを使用しているため、そうだと思います):

        DBCollection coll = db.getCollection("privateMessages")
    
        query = new BasicDBObject();
    
        query.put("sendingUser.userID", new BasicDBObject("$eq", 34345)); 
    
        cur = coll.find(query); // all documents with  sendingUser.userID = 34345 will be //returned by cursor
    

    javaドライバー のチュートリアルも確認してください。



    1. MongoDb:多くの検索可能なフィールドを持つデータに適切な(複合)インデックスを作成する方法

    2. mongoose findByIdは、文字列リテラルを使用する場合は機能しますが、オブジェクトのプロパティを参照する場合は機能しません

    3. Alpakka MongoConnectorClassNotFoundExceptionを使用したMongoDBReactiveStreamsランタイム依存関係エラー

    4. MongoDBでJavaScriptファイルを実行する