Mongodb 组合不,和,和大小
MongoDB有一个很好的问题,由(和更通用的版本at)描述 作为一种解决方法,我试图将我的查询表示为和的组合,而不是和大小:Mongodb 组合不,和,和大小,mongodb,aggregation-framework,Mongodb,Aggregation Framework,MongoDB有一个很好的问题,由(和更通用的版本at)描述 作为一种解决方法,我试图将我的查询表示为和的组合,而不是和大小: { '$match' => { '$and' => [ items: {'$and' => ['$size' => 0, '$size' => 1, ... until the length I need is reached]}, ... ], }}, 我不断获取
{ '$match' => {
'$and' => [
items: {'$and' => ['$size' => 0, '$size' => 1, ... until the length I need is reached]},
...
],
}},
我不断获取
失败,错误为10068:“异常:无效运算符:$和”
。我是否忽略了一些非常明显的内容?首先,如果您试图使用$和
,很可能不会得到任何结果,因为查询将尝试查找其大小应与您提供的所有大小(0,1,…长度)匹配的文档。我想你应该试试$或。其次,以下是您可能真正需要的:
db.test.aggregate(
{$match:{
$or:[ {items:{$size:0}}, {items:{$size:4}} ]} // just include all your size conditions
}
)
哦,所以我需要重复里面的项目和/或,而不是相反?是的,我想是的。这就是您得到无效运算符错误的原因。