[英]MongoDB - Mongoose query findOneAndUpdate() doesn't update/duplicates the DB
[英]MongoDB findOneAndUpdate doesn't return errors but also doesn't update the database
我正在尝试使用 findOneAndUpdate() 但似乎无法让它工作。 这是我正在使用的查询。 它将 object 添加到嵌套在“列表”数组中的“项目”数组中,用于具有“用户名”的特定条目。 我已经为不在嵌套数组内的字段使用简单的 $set 进行了尝试,但它似乎也不起作用。 目前没有返回错误。
MongoClient.connect(
uri,
{ useUnifiedTopology: true },
(err, db) => {
if (err) throw err;
var dbo = db.db("Todolist");
dbo.collection("Users").findOneAndUpdate(
{
username: username,
lists: {
$elemMatch: {
name: listName,
},
},
},
{
$push: {
"lists.$.items": {
title: title,
description: description,
dueDate: dueDate,
priority: priority,
completed: false,
},
},
}
);
},
(err, doc) => {
if (err) res.send("/addListItem failed");
else res.send("/addListItem successful");
}
);
} catch (e) {
console.error(e);
}
您必须在此处使用.dot
符号和$
位置运算符
Schema.findOneAndUpdate(
{ username: username },
{ "lists.$.name": listName }
)
事实证明,我的问题的答案是支架放置。 我将 function arguments 的回调(在关闭后)
放置到findOneAndUpdate
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.