gpt4 book ai didi

node.js - 如何使用 Mongoose 向现有文档添加属性?

转载 作者:可可西里 更新时间:2023-11-01 09:52:53 24 4
gpt4 key购买 nike

我在数据库中有一个现有的用户对象。

我修改了我的 models/user.js 以将属性“isAdmin”添加到用户模式。

  , isAdmin     : { type: Boolean, default: false }

但现在当我保存文档时(即:我更新我的个人资料)。当我在我的应用程序中使用 console.log(user) 时会显示 isAdmin 属性...(如预期的那样是错误的)...但是当我直接转到 mongo 数据库控制台时,它不存在于现有文档中。

如果我创建一个新的用户对象,isAdmin 属性存在于新文档中。如何将此属性添加到现有文档,以便它直接显示在数据库中?

编辑:我决定添加一个 role 属性,并且只修改特定用户,在 robomongo 中将他们的角色设置为 admin,而不是使用 mongoose 来完成。

最佳答案

我同意 Hector 关于编写代码来处理丢失的 isAdmin 字段的观点,就像将其设置为 false 而不是为此烦恼。

但是如果你想完成它,一种方法是显式地将 isAdmin 标记为已修改,以便随后对 save 的调用将写出默认值:

doc.markModified('isAdmin');
doc.save();

关于node.js - 如何使用 Mongoose 向现有文档添加属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14619793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com