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

配列のオブジェクトではなく、配列のオブジェクトのフィールドに対するMongodb $ in

    入力配列から「場所」フィールドを抽出し、それらを $inにフィードする必要があります

    var locs = arr.map(function(x) { return x.location } );
    db.collection.find({ "fieldx": { "$in": locs } })
    

    参考までに、質問を書き直します:

    次のようなドキュメントを含むコレクションがあります:

    { "fieldx": "NY" }
    { "fieldx": "LA" }
    { "fieldx": "SF" }
    

    私が持っているのは、次のように定義された入力配列です:

    var arr = [
        { "name": "foo", "location": "NY"},
        { "name": "bar", "location": "LA"},
        { "name": "foobar", "location": "NZ"}
    ];
    

    次に、入力用の配列の「場所」フィールドに一致するすべてのドキュメントを検索するクエリを作成します。

    どうすればよいですか?

    試しました:

    db.collection.find({ "fieldx": { "$in": arr } })
    

    しかし、それは一致しません。



    1. MongoDBデータベースにクエリを実行するDBSCANアルゴリズムを実装するのに最適なプログラミング言語は?

    2. ServiceStackエンティティIDフィールド名

    3. Morphiaの紹介–MongoDB用のJavaODM

    4. Django-管理者でEmbeddedObjectsを含むListFieldを使用するnonrel