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

MongoDBPHPに埋め込まれたアイテムでドキュメントを見つける方法

    埋め込まれたドキュメントの配列があるため、データ構造はクエリが扱いにくいです。データを少し変更するだけで、これを簡単に操作できるようになります。

    ユーザーIDを配列に入れました:

    {
     "contestname": "Contest1",  
     "description": "java programming contest", 
     "numteams": 2,
     "teams": [
       {
        "teamname": "superstars",
        "members": [
            "50247314f501384b011019bc",
            "50293cf9f50138446411001c",
            "50293cdff501384464110018"
        ]
       },
    
       {
        "teamname": "faculty",
        "members": [
            "50247314f501384b0110100c",
            "50293cf9f50138446410001b",
            "50293cdff501384464000019"
        ]
       }
     ],
     "term": "Fall 2012"
    }
    

    次に、PHPと同等の find() を実行できます。 対象:

    db.contest.find(
            {'teams.members':'50247314f501384b011019bc'},
            {'contestname':1, 'description':1}
        )
    

    これは、このユーザーが入力した一致するコンテストを返します:

    {
        "_id" : ObjectId("502c108dcbfbffa8b2ead5d2"),
        "contestname" : "Contest1",
        "description" : "java programming contest"
    }
    {
        "_id" : ObjectId("502c10a1cbfbffa8b2ead5d4"),
        "contestname" : "Contest3",
        "description" : "Grovy programming contest"
    }
    



    1. マルチコアCPUでのRedisのパフォーマンス

    2. javaで2つのフィールドを持つmongodbで$in演算子を使用する方法

    3. 2つのOpenshiftアプリからMongoDBデータベースにどのようにアクセスしますか?

    4. コレクションをシャーディングする正しい方法と結果を解釈する方法