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

MongoDBが不明なキーでコレクションを検索

    「$where」句を使用してみてください:

    db.items.find({"$where" : function(){ 
        for( var c in this ){
            if( c == "rgDescriptions" ){ 
                for(var i in this[c]){ 
                     for(var j in this[c][i]){
                          if(j == 'name_color' && this[c][i][j] == '8650AC'){
                               return true;
                          }
                     }
                 }
            };
         }
         return false; 
    }});
    

    ただし、この句は「遅い」ソリューションであるため、各ドキュメントをBSONからJavascriptオブジェクトに変換してから、「$where」式を実行する必要があることに注意してください。



    1. MongoDB $ query演算子はインデックスを無視しますか?

    2. 別のデータベースからのコレクションの更新

    3. mongodb正規表現が機能しない

    4. アービター付きのMongoDBレプリカセット