2017-06-26 6 views
0

このコンセプトへの参照をドキュメントで見つけることができないので、ここで質問しました。我々はいくつかのブールクエリのロジックで作業していると私は、次のようなもので$match舞台の構築に取り組んできました:ネストされたブール論理のこのタイプがサポートされている場合

{ '$match': 
{ '$or': 
    [ { depth: { '$or': [ { '$gt': 1 }, { '$lte': 36 }, { '$ne': 15 } ] } }, 
     { height: { '$and': [ { '$gt': 1 }, { '$lte': 36 }, { '$ne': 15 } ] } } ] } }, 

誰でも確認することができますか?

私のテストでは、結果は返されませんが、例外は発生しません。

ありがとうございます!そのクエリのためのシンプルな方法がありますが

答えて

2

正しい構文は

{$match: { 
    depth: {$gt: 1, $lte: 36, $ne: 15}, 
    height: {$gt: 1, $lte: 36, $ne: 15} 
}} 

UPDATE

..

{$match: { 
    $and: [ 
     {depth: {$gt: 1}}, 
     {depth: {$lte: 36}}, 
     {depth: {$ne: 15}}, 
     {height: {$ne: 15}}, 
     .... etc .... 
    ] 
}} 

これは、クエリの更新後されるべきである

{$match: { 
    $or: [ 
     {depth: {$gt: 1}}, 
     {depth: {$lte: 36}}, 
     {depth: {$ne: 15}}, 
     {height: {$gt: 1, $lte: 36, $ne: 15}} 
    ] 
}} 
+0

返事をありがとう。しかし、私はブーリアンを組み合わせることができると期待しているので、これが私の目標を完全に達成したとは思いません。うまくいけば私のニーズを説明するために私の例を更新しました。 – EranSch

+0

@EranSch私の更新された答えを確認 – lascort

+0

ああ、完璧な意味があります。明確化のためにありがとう!これを受け入れられた回答とします。 – EranSch

関連する問題