【发布时间】:2020-06-11 05:57:55
【问题描述】:
我正在尝试使用 findOneAndUpdate() 但似乎无法使其工作。这是我正在使用的查询。它将对象添加到嵌套在“lists”数组中的“items”数组中,用于具有“username”的特定条目。我已经为不在嵌套数组内的字段使用简单的 $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);
}
【问题讨论】:
-
可能 listName 不匹配?你试过简单的查找查询吗
-
有什么反应?分享示例数据模型数据?
标签: javascript node.js mongodb express mongodb-query