【发布时间】:2021-02-27 17:46:11
【问题描述】:
在 MongoDB 中,您通过编写模式来存储数据,并通过一些路由来执行所有操作。我的问题是我应该如何存储用户数据。像这样的:
const Page = new mongoose.Schema({
username: String
Password: String
lists: [{
list_name: String,
etc.
}]
});
这是我想要这样做的方式,因为没有其他人能够访问其他人的列表。我的问题是假设他们更新了某个 list_name 我将如何仅更新该某个 list_name 而不是更新所有内容。我对 MongoDB 有点陌生,所以任何帮助都将不胜感激。
【问题讨论】:
-
您需要获取某个 list_name 的索引(参见 $indexOfArray),然后更新该索引的值。这些链接可能会对您有所帮助,docs.mongodb.com/manual/reference/operator/aggregation/…、docs.mongodb.com/manual/reference/operator/update-array。注意 $indexOfArray 函数返回第一个匹配的索引。所以如果你想更新所有的名字,你需要多次重复更新过程。