2017-09-21 15 views
0

特定の順序で3つの条件に基づいてドキュメントを検索する必要があります。MongoDB効率的なクエリ作成方法

つまり、自分のドキュメントにユーザー、期日、部門などの属性があると考えてください。

特定のユーザーIDのドキュメントがあるかどうかを確認する必要があります。そうでなければ、今日のドキュメントを期日としてチェックする必要があります。特定の部門を持つドキュメントを見つける必要があります。

最小限のDBヒットで効率的な方法でMongoDBクエリを実行するにはどうすればよいですか。

答えて

0

$またはモンゴで演算子は、条件の一つが有効であるとすぐに、彼らは彼らの公式Documentationに良い例を持っているとして、それはtrueを返します。つまり、短絡挙動を有します。 基本的には:

db.mycollection.find({$or : [{condition1},{condition2},{condition3}]}) 

条件1が真である場合、それはあなたの文書に一致します。

条件1が偽の場合、Mongoは条件2をチェックして一致するかどうかを調べます。

条件1と条件2が偽である場合には、モンゴはcondition3を実行するなどなど...

これは、あなたの質問にお答えしていますか?

+0

私のコレクションには、条件1と条件2の両方に一致するデータがある場合、条件1を満たす文書のみが返されます。 – Geek

+1

ああ申し訳ありませんが、あなたが他のクエリを実行する必要があるかどうかを知る前に、実際の結果が必要なときに別々にクエリを実行する必要があることがわかっている場合、あなたの質問を誤解しました。 –

関連する問題