来自mongoose doc
var thingSchema = new Schema({..}, { strict: false });
var thing = new Thing({ iAmNotInTheSchema: true });
thing.save(); // iAmNotInTheSchema is now saved to the db!!
它也说
注意:在您的实例中不存在的实例上设置的任何键/值 无论架构选项如何,都始终忽略架构。
我的问题是为什么会这样?
如果我想对此进行更新并希望在Schema中添加更多字段,有什么办法可以做到这一点。
答案 0 :(得分:3)
执行update时,您可以使用{strict: false}
选项允许更新修改模式中未定义的字段:
Thing.update({_id: 1}, {$set: {iAmNotInTheSchema: true}}, {strict: false}, cb);