Mongoose 中如何使用 Schema 定义数据类型

Mongoose 是一个 Node.js 的 MongoDB 对象模型工具,它提供了一系列的 API,用于和 MongoDB 进行交互。其中,Schema 是 Mongoose 中一个很重要的概念,它用于定义数据的结构和类型。在本文中,我们将详细介绍 Mongoose 中如何使用 Schema 定义数据类型,并提供一些示例代码和学习指导。

什么是 Schema?

在 Mongoose 中,Schema 是一种用于定义数据结构的类。它定义了数据类型、默认值、验证器等信息,用于生成 Model。Model 是指与数据库中的集合对应的类,它可以执行 CRUD 操作,即对集合中的文档进行增删改查。

可以将 Schema 理解为表单,Model 理解为填写表单的人。表单规定了填写的内容和格式,填写人必须按照规定的格式填写,否则会被提示错误。同样地,Schema 规定了文档的结构和类型,Model 必须遵守 Schema 的规定,否则会导致操作失败。

如何使用 Schema 定义数据类型?

定义 Schema 的过程分为两个步骤:定义 Schema,生成 Model。下面我们分别来介绍这两个步骤。

定义 Schema

定义 Schema 一般需要使用到 Mongoose 中的 Schema 类。在使用之前,我们需要先安装 Mongoose:

然后在代码中引入 Mongoose:

接着,我们就可以创建 Schema 了。以定义用户信息为例,代码如下:

在上面的代码中,我们定义了一个名为 userSchema 的 Schema,它有六个属性。其中,前四个属性的类型分别为 String、Number、String、Boolean,而最后两个属性的类型为 Date,且都有默认值,分别为当前时间。

除了上面提到的属性类型和默认值外,还有很多其它的属性可以设置,比如:required、unique、enum、max、min 等。这些属性的具体用法可以参考 Mongoose 的官方文档。

生成 Model

生成 Model 一般需要使用到 Mongoose 中的 model() 方法。在使用之前,我们需要先连接 MongoDB:

上面的代码中,我们连接了名为 myapp 的数据库。如果该数据库不存在,则会自动创建。

然后,我们就可以使用 model() 方法来创建 Model 了。以生成名为 User 的 Model 为例,代码如下:

在上面的代码中,我们使用 model() 方法,传入两个参数:第一个参数为 Model 的名称,即 User;第二个参数为之前定义的 Schema,即 userSchema。

在生成 Model 后,我们就可以使用它来执行 CRUD 操作了。比如,向 User 集合中插入一条文档的代码如下:

在上面的代码中,我们创建了一个名为 user 的文档,并调用了 save() 方法来保存它。save() 方法是异步的,它会在保存完成后调用回调函数。如果保存失败,则回调函数中的 err 参数不为空。

同样地,我们也可以使用其它的方法来执行查询、更新和删除等操作。具体用法可以参考 Mongoose 的官方文档。

总结

本文介绍了 Mongoose 中如何使用 Schema 定义数据类型,并提供了一些示例代码和学习指导。需要注意的是,Schema 只是定义了数据类型和结构,实际操作还需要使用 Model 来进行。除了本文介绍的方法外,还有很多其它的方法可以使用,如果遇到问题,可以参考 Mongoose 的官方文档或社区论坛。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654c3a9c7d4982a6eb5d4e01


纠错
反馈