我有问题通过Mongoose对mongo进行查询。
我在我的对象数组上推送一个新对象,我想更新平均值(数组中我的对象中的温度字段)。型号:
var sensDaySchema= new mongoose.Schema({
date: {
type:'date',
required:true
},
avgTemperature:{
type:'number',
required:true
},
avgHumidity:{
type:'number',
required:true
},
dayDatas:{
type:['object']
}})
我用mongoose开始了这个:
sensDayModel.findByIdAndUpdate(resultFind[0].id,{$push:{"dayDatas":args}},function(err,result){
if (err) next(err,null)
else{
sensDayModel.aggregate({$group:{_id:resultFind[0].id,date:"$date",avgTemperature:{$avg:"$dayDatas.temperature"},avgHumidity:{$avg:"$dayDatas.humidity"},dayDatas:"$dayDatas" }},function(err,result){
result.save(function(err,result){
if (err) next (err,null)
else next (null,result)
})
})
}
});
提前感谢您的回答!