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

$ elemMatch(射影)が基準に一致するすべてのオブジェクトを返すようにする

    複数のサブドキュメントを返すには、集約フレームワークを使用する必要があります。これにより、探しているすべてのサブドキュメントが返されます:

    db.zip.aggregate(
      {$match: {zipcode: 63109}},
      {$unwind: "$students"},
      {$match: {"students.school": 102}}
    )
    

    さまざまなことを実行してさまざまな出力を取得できますが、これは次のようになります。

    {
        "result" : [
            {
                "_id" : 1,
                "zipcode" : 63109,
                "students" : {
                    "name" : "john",
                    "school" : 102,
                    "age" : 10
                }
            },
            {
                "_id" : 1,
                "zipcode" : 63109,
                "students" : {
                    "name" : "jess",
                    "school" : 102,
                    "age" : 11
                }
            },
            {
                "_id" : 4,
                "zipcode" : 63109,
                "students" : {
                    "name" : "barney",
                    "school" : 102,
                    "age" : 7
                }
            }
        ],
        "ok" : 1
    }
    


    1. フィールド名のないmongodbクエリ

    2. ハウツー:Apache HBase RESTインターフェースの使用、パート1

    3. mongoで効率的にクエリでドキュメントを削除するにはどうすればよいですか?

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