假設您的箱子中有物品。每個商品可能位於多個商品包裝盒中,因此每個商品都有一系列標識符以表示商品所在的包裝盒。查找數組中包含值的位置
childA = {... boxIds:['000001','000002','000003' ] ...}
在mongodb中,您可以說child.find({boxIds:'000002'})
以獲取childA以及000002位於boxIds數組中的其他所有子節點。 這是我的貓鼬(CoffeeScript的)嘗試:
data = boxIds: box._id
Child.find data, (err, children) -> doSomething
我總是得到一個空的結果雖然。我找不到問題,或者這種類型的查詢不支持貓鼬?
EDIT
Child = new mongoose.Schema
...
boxIds: Array
...
box._id是正常mongodb的ID字符串
示例查詢MongoDB中:db.child.find({boxIds: '50bb5d10ba1e232401000002'})
結果:......., "boxIds" : [ "50bb5d10ba1e232401000002" ], .....
EDIT2
難道是_id不是一個字符串?
貓鼬支持任何MongoDB可以支持的查詢。通常,像你這樣的空結果問題歸結爲模式中的類型與數據庫中的類型不匹配。你可以將你的模式和示例文檔添加到你的問題中嗎? – JohnnyHK