📜  Mongoose模块介绍(1)

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

Mongoose模块介绍

简介

Mongoose是一个为Node.js创建MongoDB对象模型的工具,它在Node.js中使用JavaScript语言,可以通过对象自然映射来处理MongoDB的文档数据。

安装

可以使用npm安装Mongoose,命令如下:

npm install mongoose
连接MongoDB数据库

使用Mongoose连接MongoDB数据库,需要通过以下方式设置:

const mongoose = require('mongoose');
const uri = 'mongodb://localhost/my_database';

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

这里{ useNewUrlParser: true }是必须的,因为MongoDB驱动程序使用较旧的解析器,而新的地址解析器需要设置useNewUrlParser选项。

创建模型

在使用Mongoose之前,需要先定义MongoDB的文档模型。在Mongoose中,可以通过Schema定义模板。例如,下面是一个User对象的基本架构:

const userSchema = new mongoose.Schema({
  name: String,
  age: Number
});

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

上面的代码创建了一个名为User的模型,并定义了nameage两个属性。

保存模型

在模型定义好后,可以使用它来创建新的文档。例如:

const user = new User({ name: 'John Doe', age: 25 });

user.save(function (err, user) {
  if (err) return console.error(err);
  console.log(user.name + " saved to users collection.");
});

上面的代码创建了一个名为John Doe的用户,并将其保存到MongoDB的users集合中。如果保存成功,控制台将输出John Doe saved to users collection.

查询文档

可以使用模型对象直接查询MongoDB文档。例如:

User.find(function (err, users) {
  if (err) return console.error(err);
  console.log(users);
});

上面的代码查询MongoDB的users集合中的所有文档,并将结果输出到控制台。

更新文档

可以使用模型对象来更新MongoDB文档。例如:

User.updateOne({ name: 'John Doe' }, { age: 30 }, function (err, res) {
  if (err) return console.error(err);
  console.log(res);
});

上面的代码将MongoDB中名为John Doe的文档的age字段更新为30

删除文档

可以使用模型对象来删除MongoDB文档。例如:

User.deleteOne({ name: 'John Doe' }, function (err) {
  if (err) return console.error(err);
  console.log('John Doe deleted from users collection.');
});

上面的代码从MongoDB的users集合中删除名为John Doe的文档。如果删除成功,控制台将输出John Doe deleted from users collection.

以上就是Mongoose模块的介绍。 Mongoose的功能强大且易于使用,是Node.js开发人员处理MongoDB文档数据的理想选择。