簡體   English   中英

mongodb:無法通過貓鼬查詢更新模型

[英]mongodb: Cant update a model through a mongoose query

我的用戶模型中有以下值。

 "courseId" : [
                "5ac37f5cd494e905b86c2433",
                "5ac3861b8ef3100798036040",
                "5ac42ce009092c3058893590",
                "5ac47e2787f5a70428640ed3",
                "5ac710fbc1c4ea39b8050c94",
                "5ac3861b8ef3100798036040",
                "5ac3861b8ef3100798036040",
                "5acc4b59336cfc3de4b05e69",
                "5acc4b59336cfc3de4b05e69"
        ],

如您所見,最后兩個值是重復值。 我試圖通過此貓鼬查詢更新它們:

User.update({ "_id": req.params.userid }, { $set: { courseId: User.distinct("courseId", { "_id": req.params.userid }) } }, function (err) {
                if (err) {
                    console.log(err);
                } else {
                    console.log("distinct done");
                }
            });

在這里,我可以向您保證,該函數正在req.params接收用戶ID,但不會刪除重復的值。 我究竟做錯了什么?

distinct將異步執行。 您需要在回調中調用update

User.distinct("courseId", { "_id": req.params.userid }, function(err, courseIds){
 //handle err
  User.update({ "_id": req.params.userid }, { $set: { courseId: courseIds } }, 
     function (err) {
       if (err) {
         console.log(err);
       } else {
          console.log("distinct done");
       }
     });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM