push или addToSet не работает с express, node и mongoose (получение ответа {ok: 0, n: 0, nModified: 0}) - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь обновить документ при использовании 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 }

Заранее благодарен за помощь:)

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Ваша схема должна быть такой:

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

Надеюсь, это поможет ...

0 голосов
/ 21 февраля 2019

Как $ addToSet требуемый формат массива в параметре.Попробуйте как показано ниже:

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