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

MongoDB仅搜索与数组项匹配的值的搜索结果,mongodb,mongodb-query,Mongodb,Mongodb Query,各位 我可以在MongoDB集合中搜索数组中的任何值: var searchArray = ['foo','bar']; 使用以下查询: var query = { widgets: { '$in': searchArray } }; 结果将是具有与foo或bar匹配的widgets的对象 MongoDB查询在搜索foo和bar等widget时应该是什么样子。换句话说,只返回包含foo和bar的小部件。如果存在[foo,条,baz`],则将跳过它。如果只有一个

各位

我可以在MongoDB集合中搜索数组中的任何值:

var searchArray = ['foo','bar'];
使用以下查询:

var query = {
    widgets: {
        '$in': searchArray
    }
};
结果将是具有与
foo
bar
匹配的
widgets
的对象

MongoDB查询在搜索
foo
bar
widget
时应该是什么样子。换句话说,只返回包含
foo
bar
的小部件。如果存在[
foo
条,
baz`],则将跳过它。如果只有一个['foo'],它也将被跳过

谢谢

更新: 这似乎有效:

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

使用
$all
有什么问题吗?

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

var searchArray=['foo','bar'];
变量查询={
小部件:searchArray
};

为什么不使用
$all
@Cmag,因为
$all
也将匹配
小部件:['foo','bar','baz']