【发布时间】:2012-11-20 03:34:39
【问题描述】:
假设您有装有物品的盒子。每个项目可能在多个盒子中,因此每个项目都有一个 ID 数组,用于该项目所在的盒子。
childA= {...boxIds: ['000001', '000002', '000003']...}
在 mongodb 中,您可以说 child.find({boxIds:'000002'}) 来获取 childA 以及 000002 在 boxIds 数组中的所有其他孩子。
这是我在猫鼬(coffeescript)中尝试过的:
data = boxIds: box._id
Child.find data, (err, children) -> doSomething
我总是得到一个空的结果。找不到问题还是猫鼬不支持这种类型的查询?
编辑
Child = new mongoose.Schema
...
boxIds: Array
...
box._id 是普通的 mongodb id 字符串
mongodb 中的示例查询:db.child.find( {boxIds: '50bb5d10ba1e232401000002'} )
结果:......., "boxIds" : [ "50bb5d10ba1e232401000002" ], .....
EDIT2
难道_id不是字符串?
【问题讨论】:
-
Mongoose 可以支持 MongoDB 可以支持的任何查询。通常,像您这样的空结果问题归结为模式中的类型与数据库中的类型不匹配。您可以将您的架构和示例文档添加到您的问题中吗?
标签: mongodb mongoose coffeescript