2016-09-15 3 views
0

{ $or:[{TextField1:{$eq:"DX93E6XX6R"}}], $or:[{TextField1:{$eq:"N4JXFTNP64"}}] }Что происходит в этом запросе MongoDB?

В коллекции есть два документа. Один с значением «TextField1», равным первому выражению, и одно с тем же полем, равным второму выражению.

Моя мысль была:

Find all documents where TextField1 equals "DDX93E6XX6R" AND TextField1 equals "N4JXFTNP64"

ответ

2

Это не разумный запрос, потому что вы не можете иметь два поля, названные $or в одном объекте будет использоваться таким образом, только второй один (перезапись первой) , И $or с одним элементом такой же, как и этот элемент.

Так что это так же, как:

{TextField1:{$eq:"N4JXFTNP64"}} 

который так же, как:

{TextField1: "N4JXFTNP64"} 

Что:

Find all documents where TextField1 equals "N4JXFTNP64" 
0

Если вы хотите, чтобы соответствовать документы либо , то ваш отчет может быть следующим:

{$ или: [{textField1: "foo1"}, {textField1: "foo2"}]}

или ...

{textField1: {$ в: [ "foo1", «foo2 "]}}

Смежные вопросы