model層
var schema =new Schema({
orname:String,
userIds:[{userId:String}],
create_at:{type: Date,default: Date.now}
});
controller層
logs.get(id, function(err,log){
if(log){
log.userIds.push('eu128765edddidodiddyydhdjkuyttdj');
log.save();
}
})
問題原因:mongodb很早前的版本就合并了$push和$pushAll,然后mongodb 3.6取消了$pushAll
解決方案:
(1)mongodb降級到3.4或mongoose升級到5.0 rc2,親測降級3.4是OK的
(2)在Schema中傳入第二個(gè)參數(shù){usePushEach: true}。
new mongoose.Schema({
orname:String,
userIds:[{userId:String}],
create_at:{type: Date,default: Date.now}
}, {
usePushEach: true
});