![](/img/trans.png)
[英]MongoDB - Mongoose query findOneAndUpdate() doesn't update/duplicates the DB
[英]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.