2017-04-18 59 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找到了答案。

我還找不到自動模式。