2017-04-18 37 views
0

我保存在MongoDB中像这样的文档领域:猫鼬。卸下保存中不存在的模式

{ 
    title: 'title', 
    author: 'author name', 
    body: 'the body', 
    admin: 'admin user' 
} 

这是猫鼬的模式:

var blogSchema = new Schema({ 
    title: String, 
    author: String, 
    body: String 
}); 

我想,关于保存,“管理员”字段已从文档中删除,这可能吗?我是否可以在事件pre-save中自动执行此操作?

谢谢。

+0

你能展示你如何保存博客。理想情况下,如果未在架构中定义它,则不应保存管理域 –

+0

因此,您需要将保存的文件返回给客户端,但您不想显示管理域,对不对? – thelonglqd

+0

Nop,该文档先前以其他机制保存在数据库中,现在管理员字段不是必需的... – chemitaxis

回答

0

好吧,删除字段的正确方式,是不存在的模式和存在的文件是:

doc.set('field', undefined, { strict: false }) // strict is default true, you need to add if you are using strict mode 

你可以在你的中间件使用它,例如,在我的情况pre-save中间件。

我在的comment找到了答案。

我还找不到自动模式。