我在数据库中有一个现有的用户对象。
我修改了我的 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/