2012-01-12 32 views
7

MongoDBはのネイティブ演算子($とJavaScript以外)を使用して同じコレクション内の2つのフィールドを比較することをサポートしていますか? 私はすでにsimilarquestionsを見ました。

のMongoDB documentationがはっきりと述べている:JavaScriptがもっとゆっくり、このページに記載されているネイティブの演算子よりも実行されますが、非常に柔軟性のある

私の最大の関心事はスピードであり、可能であればインデックスを使用したいと思います。 JavaScriptを使用せずにMongoDBの2つのフィールドを比較することは可能ですか?

+0

での進展は絶対に確かであることをオペレータがあなたのユースケースのために遅すぎますか$? – maerics

+0

@maerics短い答え - はい。他のすべてが失敗したら、私の最後の手段がどこになるのか。しかし、私は非常に多くの場合、インデックス付きのフィールドで検索する場所と場所を避けたいと考えています。 –

答えて

2

リンク先のドキュメントを読むと、MongoDBはネイティブ演算子のみを使用して2つのドキュメントプロパティを比較することができません。

おそらく、比較(前倒し)の結果を持つブール値プロパティを含むようにドキュメント自体(およびドキュメントを保存するコード)を変更し、必要に応じてその新しいプロパティを単純に照会することができます。より良いパフォーマンスを得るためにインデックスを作成することもできます。

+0

あなたのご意見ありがとうございますが、実際には私の問題を解決するものではありません。 –

関連する問題