5

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

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

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

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

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

编辑:我决定添加一个role属性,只需修改将其角色设置为adminrobomongo 的特定用户,而不是使用 mongoose 来执行此操作。

4

2 回答 2

1

我同意 Hector 的观点,即编写代码以将缺失isAdmin的字段与设置的字段相同,false而不是为此烦恼。

但是,如果您希望它完成,一种方法是显式标记isAdmin为已修改,以便后续调用save将写出默认值:

doc.markModified('isAdmin');
doc.save();
于 2013-02-01T04:35:25.083 回答
0

只需更新 mongo shell 中的现有文档以添加新属性。

于 2013-01-31T08:34:04.450 回答