Mongoose 中的 schema、model、instance、collection 详解

Mongoose 是一个 Node.js 中的 MongoDB 驱动程序,它提供了一种简单的方式来操作 MongoDB 数据库。在使用 Mongoose 时,我们需要了解一些关键概念,包括 schema、model、instance 和 collection。

Schema

在 Mongoose 中,schema 是一个用于定义数据结构的对象。它定义了文档中包含的字段、类型、默认值、验证规则等。我们可以通过以下方式定义一个 schema:

在这个例子中,我们定义了一个名为 userSchema 的 schema,它包含了四个字段:nameageemailcreatedAt。其中,nameage 的类型分别为 StringNumberemail 的类型为 String,并且必须存在,createdAt 的类型为 Date,并且默认值为当前时间。

Model

在 Mongoose 中,model 是一个用于与 MongoDB 数据库进行交互的类。它是由 schema 生成的。我们可以通过以下方式创建一个 model:

在这个例子中,我们创建了一个名为 User 的 model,它使用了之前定义的 userSchema

通过 model,我们可以进行各种操作,例如创建、读取、更新和删除文档。以下是一些常见的操作:

Instance

在 Mongoose 中,instance 是指 model 的实例,也就是文档。当我们使用 model 的 createsavefind 等方法时,返回的是 instance。我们可以对 instance 进行各种操作,例如获取、设置、验证等。以下是一些常见的操作:

Collection

在 MongoDB 中,collection 是指存储在数据库中的文档集合。在 Mongoose 中,每个 model 都有一个对应的 collection。我们可以通过以下方式获取一个 model 的 collection:

在 collection 上,我们可以进行各种操作,例如统计文档数量、创建索引等。以下是一些常见的操作:

总结

在 Mongoose 中,schema、model、instance 和 collection 是非常重要的概念。了解它们的含义和使用方法,可以帮助我们更好地使用 Mongoose 操作 MongoDB 数据库。在开发中,我们需要根据具体的需求选择合适的操作方式,以提高效率和性能。

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


纠错
反馈