Mongoose默认值是否适用于现有文档?

Tam*_*lyn 3 mongoose mongodb node.js mongoose-schema

如果我向Mongoose模式添加属性并为其指定默认值,现有文档在加载时是否会收到这些默认值?

Tam*_*lyn 7

是的,但如果查询是,则不是lean.

对于返回完整Mongoose文档对象的查询 - Thing.find({...})只要缺少该属性,就会返​​回默认值,无论模式何时更改.如果随后保存文档,则将在数据库中实现默认值.

如果查询是lean- Thing.find({...}).lean()-查询只返回什么是在数据库中,这不包括任何新添加的默认值(除非该文件已加载和保存,如上).

  • 我们如何在现有文档中使用精简和mongo默认值?最终,我必须使用(和其他人一样)`.lean()`. (2认同)
  • Collection.aggregate({}) 也不强制使用默认参数。 (2认同)