0
我想從mongoose/mongodb中的對象數組中返回匹配對象,但是我似乎無法正確理解它。在貓鼬中返回對象數組的子對象
我的架構目前看起來是這樣的:
items: {
left: { type: Number, default: 0 },
total: { type: Number, default: 0 },
each: [{
name: String
}]
}
這使內each
每個對象以獲得它自己的對象ID。現在我試圖用貓鼬詢問這個問題,我已經嘗試了$in
和$elemMatch
以及一個普通的.find({ items.each._id: req.params.id })
。
更具體
Project.findOne({ 'items.each': { $elemMatch: { _id: req.params.id } } }).exec()
我想回到這樣一個對象:
{
_id: ObjectId(23426456234),
name: "My name is"
}
但爲什麼我不能得到這個?
有你,如果'重新檢查q.params.id'是一個objectid還是一個字符串?你確定''每個'對象被正確保存在數據庫中嗎? – andresk