为了简单起见,假设这些是我的集合模式:
var MessageDeliverySchema = new Schema({
from : { type : String },
to : { type : String },
status : { type : String }
});
var Messages = mongoose.model('messages',
new Schema({
id : ObjectId,
user : { type:String },
'sent-messages' : [MessageDeliverySchema]
}));
Run Code Online (Sandbox Code Playgroud)
因此,集合Messages中的每个文档可能具有MessageDeliverySchema定义的4/5个已发送消息.
我想要做的是有一系列已发送消息,因此每次发送收据时我都会更新消息并附加另一封已发送消息.
我尝试过的:
var delivered = {
from: 'foo',
to: 'bar',
status: 'delivered'
};
Message.update({_id: '5064aae4154cb34d14000001' },
{$pushAll: { 'sent-messages' : delivered }} , {upsert:true}, function(err, …Run Code Online (Sandbox Code Playgroud)