MongoDB搜索结果仅匹配数组项的值

时间:2014-07-09 17:40:34

标签: mongodb mongodb-query

伙计,

我能够在MongoDB Collection中搜索数组中的任何值:

var searchArray = ['foo','bar'];

使用以下查询:

var query = {
    widgets: {
        '$in': searchArray
    }
};

结果将是widgetsfoobar匹配的对象。

MongoDB查询应该如何搜索widgetsfoo的{​​{1}}而不是其他内容。换句话说,只会返回其中包含barfoo的小部件。如果有[barfoo baz`],则会跳过它。如果只有[' foo'],也会跳过它。

谢谢!

更新: 这似乎有效:

bar,

使用var query = { widgets: { '$all': searchArray } }; 有什么问题吗?

1 个答案:

答案 0 :(得分:1)

将查询对象构建为直接匹配:

var searchArray = ['foo','bar'];
var query = {
    widgets: searchArray
};