Mongoose 是 Node.js 的一个 MongoDB ORM,可以让 Node.js 开发者更方便地使用 MongoDB 数据库。在 Mongoose 中,可以通过 Schema 来定义 MongoDB 中的文档结构,而每个字段可以设置默认值(default)来避免数据丢失或者错误。
本文将介绍如何在 Mongoose 中实现字段默认值的方法。
创建 Schema
首先,需要创建一个 Mongoose 模型的 Schema。Schema 模型定义了文档的结构,每个 Schema 对象里可以存放一个或者多个字段。在创建 Schema 时,可以通过 {default: 'default value'}
参数来设置默认值,例如:
-- -------------------- ---- ------- ----- ---------- - --- ----------------- ----- - ----- ------- -------- ------- -- ---- - ----- ------- -------- -- - ---
在上述示例中,定义了一个 userSchema
,其中包括 name
和 age
两个字段,分别设置了默认值 "Guest" 和 "18"。
保存文档
在保存文档时,可以通过 new Model({})
来创建一个新的文档对象,并将默认值注入到文档中。如果文档中没有设置某个字段的值,那么 Mongoose 就会通过默认值插入到文档中。
const User = mongoose.model('user', userSchema); const newUser = new User({}); console.log(newUser); // { _id: 5fec65f4e69c1d0e0df9c596, name: 'Guest', age: 18 } newUser.save();
在上述例子中,我们创建了一个新的 User
文档对象,并将其保存到 MongoDB 数据库中。由于没有为字段 name
和 age
设置自定义值,Mongoose 就会使用默认值 "Guest" 和 "18" 来填充这些字段。
更改默认值
如果需要更改默认值,只需要修改 Schema 中的字段即可。比如,我们需要将默认的 name
字段值由 "Guest" 改为 "John":
userSchema.path('name').default('John');
这个示例代码会将默认值修改为 John
,并用于创建新的文档对象。
总结
使用 Mongoose 可以很方便地设置字段的默认值,避免数据丢失或者错误。在本文中,我们介绍了如何通过创建 Schema 来设置默认值,并且演示了如何更改默认值。
希望本文能够帮助你更好地使用 Mongoose,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e637d8f6b2d6eab31a195d