MongoDB-$setIsSubset运算符不使用$match阶段
我构建了一个如下的查询:MongoDB-$setIsSubset运算符不使用$match阶段,mongodb,mongodb-query,Mongodb,Mongodb Query,我构建了一个如下的查询: db.test.aggregate([{$match: {$setIsSubset: [['hello', 'you'], '$words']}}]) 我想返回字段“words”数组包含字符串[“hello”,“you]”的所有文档 执行此查询时,我收到以下错误: “errmsg”:“未知的顶级运算符:$setIsSubset” 我做错了什么 谢谢你的帮助 如果要在$match内使用$setIsSubset(这是一个表达式),则应使用: db.test.aggrega
db.test.aggregate([{$match: {$setIsSubset: [['hello', 'you'], '$words']}}])
我想返回字段“words”数组包含字符串[“hello”,“you]”的所有文档
执行此查询时,我收到以下错误:
“errmsg”:“未知的顶级运算符:$setIsSubset”
我做错了什么
谢谢你的帮助 如果要在$match
内使用$setIsSubset
(这是一个表达式),则应使用:
db.test.aggregate([
{
$match: {
$expr: {
$setIsSubset: [["hello", "you"], "$words"]}
}
}
])
对于低于3.6的MongoDB版本,您可以使用:
如果要在$match
中使用$setIsSubset
(这是一个表达式),则应使用:
db.test.aggregate([
{
$match: {
$expr: {
$setIsSubset: [["hello", "you"], "$words"]}
}
}
])
对于低于3.6的MongoDB版本,您可以使用:
这项工作:
db.test.aggregate([{$match: {'words': {'$all': ["hello", "you"] }}}])
这项工作:
db.test.aggregate([{$match: {'words': {'$all': ["hello", "you"] }}}])
我得到了相同的错误,但是$expr:
“errmsg:”未知的顶级运算符:$expr“
@bettersavethan抱歉,您必须使用低于3.6的MongoDB。您可以尝试使用$redact
,在这种情况下,就像在我编辑的回答中一样。我得到的错误与$expr:“errmsg”:“未知顶级运算符:$expr”
@bettersavethan抱歉,您必须使用低于3.6的MongoDB。在这种情况下,您可以尝试使用$redact
,就像我编辑的答案一样