上午有我節點應用以下貓鼬架構使用貓鼬
var expenseSchema = new Schema({
particular : String,
date : {type : Date, default: Date.now},
paid_by : String,
amount : Number,
month : String
});
var roomSchema = new Schema({
name: String,
admin: String,
roomies : [String],
expenses : [expenseSchema]
},{
collection : 'rooms'
});
我需要費用一房一特定的月份使用find()。 以下是我試圖,但它返回我的整個房間對象
Room.findOne({_id : req.params._id, 'expenses.month' : 'oct'}).exec(function(err, result){
if(result == null) {
res.json({result : 'Oops! We couldn\'t find any rooms...'});
} else if(err) {
res.json({result : 'Error in getting Rooms'});
} else {
res.json({result : result});
}
});
有人可以幫助我?
這隻返回正確的數據。但它只返回一個對象。我怎樣才能獲得同一個月的數組中的所有對象? –
這將返回一個空對象 –
我想我知道爲什麼,這是因爲''match'的aggregate()'函數需要通過'_id'匹配,所以必須首先將值轉換爲ObjectId。檢查我的更新版本。 – chridam