【发布时间】:2016-03-22 10:36:04
【问题描述】:
假设我有一个帐户集合,每个帐户都有一组用户:
{
_id: 1,
users: [
{
firstName: a,
lastName: b
},
{
firstName: c,
lastName: c
}
]
}
我想查询至少一个用户具有相同firstName 和lastName 的所有帐户
我试图做这样的事情:
db.accounts.find({users: {
$elemMatch: {
$where: "this.firstName == this.lastName"
}
}})
但当然因为这个错误它没有工作:
无法规范化查询:BadValue $elemMatch 不能包含 $where 表达式
我想使用find 而不是aggregate。
还有其他方法吗?
【问题讨论】:
-
为什么不想使用聚合?
-
@chridam 并非所有用户都有聚合查询的权限。
标签: mongodb mongodb-query