【发布时间】:2018-09-10 15:58:56
【问题描述】:
我需要提取 ID 存储在 ObjectIds 数组中的文档 所以我有一个“id”(123),我想要所有“租户”的数组元素为(123)的文档
数据看起来像这样
{
"_id": ObjectId("abc"),
"name": "Miroslav",
"tenants": [
ObjectId("123"),
ObjectId("456")
]
}
{
"_id": ObjectId("abd"),
"name": "Lothar",
"tenants": [
ObjectId("123"),
ObjectId("694")
]
}
当然是 mongoDB 系统税
things.find( { 'tenants': ObjectId(123) } )
工作得很好。
猫鼬抱怨
ReferenceError: ObjectId is not defined
所以我尝试了这个
things.find( { 'tenants': mongoose.Schema.ObjectId(123) } )
在一个集市上,猫鼬返回了所有记录,除了预期的 2 条记录。
我在 3 年前看到过这个问题,但那个帖子没有答案,希望这里有人能提供解决方案。
我正在使用“mongoose”:“4.9.8”(由于特定的“承诺”问题,我目前无法升级版本)
谢谢
【问题讨论】:
-
你能显示架构的租户部分吗?
-
租户是用户 - 父/子关系......租户ID是指不同文档的_id。
-
试试这个:things.find({ tenants: mongoose.Types.ObjectId("123") })
标签: mongoose