【发布时间】:2021-09-21 17:59:23
【问题描述】:
我有一个类似下面的条目,
[
{
"_id":ObjectId("59ce020caa87df4da0ee2c78"),
"name": "Tom",
"owner_id": ObjectId("59ce020caa87df4da0ee2c78")
},
{
"_id":ObjectId("59ce020caa87df4da0ee2c79"),
"name": "John",
"owner_id": ObjectId("59ce020caa87df4da0ee2c78")
}
]
现在,我需要在 MongoDB 中使用 find() 找到 _id 等于 owner_id 的人。
请注意,由于某种原因,我们不能不使用 $match(聚合)。
我正在使用这个查询,
db.people.find({ $where: "this._id == this.owner_id" })
但是,它没有返回预期的输出。谁能帮我解决这个问题。
谢谢。
【问题讨论】:
-
尝试使用
$expr和聚合$eq运算符(而不是$where)
标签: mongodb mongoose mongodb-query