📜  如何连接到 mongoose 并创建模型 - Javascript (1)

📅  最后修改于: 2023-12-03 15:24:56.310000             🧑  作者: Mango

如何连接到 Mongoose 并创建模型

Mongoose 是一个优秀的 MongoDB 对象模型工具,它可以帮助我们在 Node.js 应用程序中定义 Schema、Model 和实现数据的 CRUD 操作。本篇文章将详细介绍如何连接到 Mongoose 并创建模型。

安装 Mongoose

在开始之前,你需要安装 Mongoose。可以使用 npm 命令进行安装:

npm install mongoose
连接到 MongoDB 数据库

Mongoose 默认连接到 MongoDB 测试数据库,我们需要修改它连接到我们自己的数据库。可以使用下面的代码连接到 MongoDB 数据库:

const mongoose = require('mongoose');

const uri = 'mongodb://localhost:27017/myapp';

mongoose.connect(uri, {
  useNewUrlParser: true,
  useCreateIndex: true,
  useUnifiedTopology: true
});

const connection = mongoose.connection;

connection.once('open', () => {
  console.log('MongoDB database connection established successfully!');
});

uri 参数指定了要连接的 MongoDB 数据库的地址和端口号。在这个例子中,我们要连接到本地 MongoDB 数据库,并且数据库名为 myapp。如果 myapp 数据库不存在,则会自动创建。

useNewUrlParser、useCreateIndex 和 useUnifiedTopology 是 Mongoose 连接选项。它们会帮助我们避免一些警告问题。

最后,我们监听了一次连接事件(open event),当连接成功时,回调函数会被调用。

定义 Schema 和 Model

Mongoose 中的 Schema 是用来定义数据的结构的,Model 则是用来查询以及存储数据的实例。下面是一个使用 Mongoose 定义 Schema 和 Model 的例子:

const mongoose = require('mongoose');

const Schema = mongoose.Schema;

const userSchema = new Schema({
  name: {
    type: String,
    required: true,
    unique: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true
  }
});

const User = mongoose.model('User', userSchema);

以上代码先定义了一个 User 的 Schema,在 Schema 中,我们定义了三个字段:name、email 和 password。name 和 email 字段都是字符串类型,并且是必填的,同时唯一(unique)的。password 字段也是必填的,但没有唯一性规定。

然后,我们使用 mongoose.model() 方法来定义一个叫做 User 的 Model。这个 Model 参数包含两个参数:

  • 第一个参数是要转换成模型的集合的名称。Mongoose 会自动命名集合为复数形式。比如,这个例子中,Mongoose 会将 User 转换成 users。
  • 第二个参数是要转换成模型的 Schema。
总结

以上就是关于如何连接到 Mongoose 并创建模型的全部内容。我们首先安装了 Mongoose,之后建立了数据库连接,最后使用 Schema 和 Model 定义了数据结构和 Model 实例。这让我们可以更加方便地操作 MongoDB 数据库了。