如果我向 Mongoose 模式添加一个属性并为其指定默认值,现有文档在加载时是否会收到这些默认值?
最佳答案
是的,但如果查询精益
则不是。
对于返回完整 Mongoose 文档对象的查询 - Thing.find({...})
- 只要属性缺失,无论模式何时更改,都将返回默认值.如果文档随后被保存,默认值将具体化在数据库中。
如果查询是 lean
– Thing.find({...}).lean()
– 查询只返回数据库中的内容,而这不会不包括任何新添加的默认值(除非文档已加载并保存,如上所述)。
关于node.js - Mongoose 默认值是否应用于现有文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066362/