push 或 addToSet 不适用于 express、node 和 mongoose(获取响应 { ok: 0, n: 0, nModified: 0 })

push or addToSet is not working with express, node and mongoose(getting response { ok: 0, n: 0, nModified: 0 })

我正在尝试使用 push 和 addToSet 更新文档,但它没有更新任何数据!

这是我的架构

var attendance_list = new Schema({
"username":{
    type:String,
    unique:true
}}); 

这是我尝试更新的方式!

attedanceAtDb.update({"username":"test"},{
       $addToSet:{
                "pushtest":"test"
           }
    }
     ,(err,result)=>{
         if(err){
             reject(err);
         }else{
             resolve(result);
         }
     })

这是回复

{ ok: 0, n: 0, nModified: 0 }

在此先感谢您的帮助:)

因为 $addToSet 参数中需要数组格式。尝试如下:

attedanceAtDb.findOneAndUpdate({"username":"test"},{
       $addToSet:{
                "pushtest": ["test"]
           }
    },{upsert: true, new: true}
     ,(err,result)=>{
         if(err){
             reject(err);
         }else{
             resolve(result);
         }
     })

你的架构应该是这样的,

var attendance_list = new Schema({
    username: { type: String, unique: true },
    pushtest: []
}); 

希望对您有所帮助...