【发布时间】:2016-04-14 10:55:27
【问题描述】:
我有一个包含数组“ratings”的用户模型,这个数组包含几个对象。现在我想使用 mongoose 的 $elemMatch 函数搜索某个对象是否在这个数组中。如果我以硬编码的方式进行操作,一切正常:
User.find(
{
ratings: {
$elemMatch: {
1: {$gt: 0}
}
}
},
但是,如果我想使用变量进行搜索,我什么也得不到。我也无法使用 var query = {};方法。
var variable = 00001;
console.log(variable);
var query = {};
query[variable] = 7;
User.find(
{
ratings: {
$elemMatch: {
variable: {$gt: 0}
}
}
},
在 $elemMatch 运算符之后将变量更改为查询也不起作用。
【问题讨论】:
-
在您的第二个示例中,您希望完整的查询是什么样的?目前尚不清楚,因为您同时拥有
00001和7。