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

同じドキュメント内のフィールドを使用したMongodbクエリ

    $whereを使用できます :

    db.myCollection.find( { $where: "this.a1.a != this.a2.a" } )
    

    ただし、これはそれほど高速ではないことに注意してください。これは、JavaScriptエンジンを起動し、すべてのドキュメントを反復処理して、それぞれの状態を確認する必要があるためです。

    大規模なコレクションに対してこのクエリを実行する必要がある場合、または非常に頻繁に、areEqualのような非正規化フラグを導入するのが最善です。 。それでも、候補セットがまだ大きいため、このような選択性の低いフィールドでは、優れたインデックスパフォーマンスが得られません。



    1. MongoDBを使用した単体テスト

    2. mongodbアップデートで変数を使用する

    3. mongodbドキュメントのサブストリングを置き換える方法

    4. Spring DataでJedisを使用しているときに、Redisでデータが奇妙なキーで保存されるのはなぜですか?