node.js - Mongoose 默认值是否应用于现有文档?

标签 node.js mongodb mongoose mongoose-schema

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

最佳答案

是的,但如果查询精益则不是。

对于返回完整 Mongoose 文档对象的查询 - Thing.find({...}) - 只要属性缺失,无论模式何时更改,都将返回默认值.如果文档随后被保存,默认值将具体化在数据库中。

如果查询是 leanThing.find({...}).lean() – 查询只返回数据库中的内容,而这不会不包括任何新添加的默认值(除非文档已加载并保存,如上所述)。

关于node.js - Mongoose 默认值是否应用于现有文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066362/

相关文章:

javascript - 如何根据mongodb中引用文档中的字段进行查询

javascript - 如何根据 mongodb 中的值对数组中的文档进行计数?

shell - 如何通过 NodeJS 子进程运行命令?

node.js - NodeJS 响应 shell 提示符

node.js - NodeJS 加载网站并在渲染之前从页面中删除元素

java - 如何在MongoDB中进行批量操作(类似于Spring中的jdbdTemplate.batchUpdate())?

node.js+mongoose UserSchema 查找或创建

node.js - 如何在不手动撤消 sequelize 迁移的情况下部署以前版本的 Node 服务器

mongodb - 自动 mongodump : how to hide password from ps output?

java.lang.NoClassDefFoundError : com/mongodb/connection/BufferProvider 错误