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

MongoDBドキュメントに複数のフィールドが存在するかどうかを確認します

    よくわかりませんが、を使用して、JavaScriptでいつでも処理できます。 $where

    jsStr = """var doc = this;
               return ['result1','result2','result3']
               .every(function(key) { 
                   return doc.hasOwnProperty(key) 
               });"""
    
    coll.find({ "$where": jsStr })
    

    ただし、どこかをチェックするには、「キー」の配列を指定する必要があります。

    入力するキーがたくさんあると思われる場合は、クエリ式を「構築」してみませんか。

    whitelist = [ "result1", "result2", "result3" ]
    query = {}
    
    for key in whitelist:
        query[key] = { "$exists": True }
    
    coll.find(query)
    

    これにより、入力が少し節約されます。MongoDBクエリはすべてデータ構造であるため、基本的なデータ操作を使用してクエリを作成するのは理にかなっています。



    1. ネストされたドキュメントを含むMongodb$lookup

    2. MongoDB+Djangoのセットアップ

    3. マングースで最大値を取得

    4. 1つのコマンドでmongoDBを停止する方法