我在数据库中有一个现有的用户对象。
我修改了我的models / user.js,为用户架构添加了一个属性“isAdmin”。
, isAdmin : { type: Boolean, default: false }
但是现在当我保存文档时(即:我更新了我的个人资料)。当我在我的应用程序中的console.log(用户)时,isAdmin属性显示...(它按预期为假)...但是当我直接转到mongo db控制台时,它不存在于现有文档中。
如果我创建新的用户对象,则isAdmin属性将出现在新文档中。如何将此属性添加到现有文档中,以便它直接显示在数据库中?
编辑:我已决定添加role
属性,只需修改特定用户将其角色设置为robomongo中的admin
,而不是使用mongoose进行此操作。
答案 0 :(得分:1)
我同意Hector关于编写代码以处理丢失的isAdmin
字段与设置为false
的字段相同而不是为此烦恼。
但是如果你想要它完成,一种方法是明确地将isAdmin
标记为已修改,以便后续调用save
将写出默认值:
doc.markModified('isAdmin');
doc.save();
答案 1 :(得分:0)
只需更新mongo shell中的现有文档即可添加新属性。