0
我似乎無法找到一個Stack或Mongoose文檔中的答案。如何將新對象添加到嵌套文檔中?添加或推入新的對象嵌套MongoDB文檔
這是我目前的架構:
var SessionsSchema = mongoose.Schema({
session: {
sid: String,
dataloop: {
timeStamp: Date,
sensorValues:{
value: Number,
index: Number
}
}
}
});
在從客戶端接收新的數據,我需要推入現有會話文件,我都試過$ addToSet和$推但既不是給我正確的結果。
這是$推:
Sessions.findOneAndUpdate(
{ 'session.sid': sessionID },
{
'$push:': {dataloop:{
timeStamp: datemilli,
sensorValues:{
value: pressure,
index: indexNum,
sessionTime: relativeTime
}
}
}
},
function(err,loop) {
console.log(loop);
}
)
這裏是我的預期輸出:
_id:58bb37a7e2950617355fab0d
session:Object
sid:8
dataloop:Object
timeStamp:2017-03-04 16:54:27.057
sensorValues:Object
value:134
index:18
sessionTime:0
dataloop:Object // <----------NEW OBJECT ADDED HERE
timeStamp:2017-03-04 16:54:27.059
sensorValues:Object
value:134
index:18
sessionTime:0
dataloop:Object // <----------ANOTHER NEW OBJECT
timeStamp:2017-03-04 16:54:27.059
sensorValues:Object
value:134
index:18
sessionTime:0
__v:0
這似乎覆蓋了以前的對象,我需要保留以前的對象,並添加一個新的。合理? – HjalmarCarlson
你是否指''session.dataloop'中的其他字段比你指定的字段還要保持原樣? –
新的字段集合,但是具有相同的架構。例如:session.dataloop1,session.dataloop2,session.dataloop3 – HjalmarCarlson