首页 > 解决方案 > push 或 addToSet 不适用于 express、node 和 mongoose(得到响应 { 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 }

在此先感谢您的帮助:)

标签: node.jsmongodbexpressmongoosemongoose-schema

解决方案


作为$addToSet所需的参数中的数组格式。尝试如下:

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

推荐阅读