这个MongoDB查询发生了什么?

时间:2016-09-15 22:39:35

标签: mongodb mongodb-query

{ $or:[{TextField1:{$eq:"DX93E6XX6R"}}], $or:[{TextField1:{$eq:"N4JXFTNP64"}}] }

该系列中有两个文件。一个“TextField1”值等于第一个表达式,另一个具有相同字段等于第二个表达式。

我的想法是:

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

2 个答案:

答案 0 :(得分:2)

这不是一个明智的查询,因为您不能在同一个对象中有两个名为$or的字段,因此只会使用第二个字段(覆盖第一个字段)。具有一个元素的$or与该元素相同。

所以它与:

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

与以下内容相同:

{TextField1: "N4JXFTNP64"}

这是:

Find all documents where TextField1 equals "N4JXFTNP64"

答案 1 :(得分:0)

如果您希望将文档与任一值匹配,那么您的陈述可以是:

{$或:[{Textfield1:“foo1”},{Textfield1:“foo2”}]}

...或

{Textfield1:{$ in:[“foo1”,“foo2”]}}