MongoDB 使用 Node.js 创建数据库

MongoDB 使用 Node.js 创建数据库

在本文中,我们将介绍如何使用 Node.jsMongoDB 创建数据库。MongoDB 是一个开源的、面向文档的 NoSQL 数据库,而 Node.js 是一个运行在服务器端的 JavaScript 运行环境。

阅读更多:MongoDB 教程

使用 mongoose 数据库驱动

在 Node.js 中使用 MongoDB,我们可以使用许多数据库驱动,例如 Node.js 官方提供的 mongodb 驱动。不过,在本文中,我们将使用 mongoose 驱动来简化我们与 MongoDB 的交互。

首先,需要在项目中引入 mongoose 模块。通过以下命令来安装 mongoose:

npm install mongoose
SQL

然后,我们需要连接到 MongoDB 数据库。连接数据库的代码示例如下:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  console.log('Connected to MongoDB');
});
JavaScript

在代码中,我们使用 mongoose.connect 方法连接到本地的 MongoDB 数据库,并且在连接成功后打印出连接成功的消息。

创建数据库

连接成功后,我们可以通过在连接回调函数中执行相应的数据库操作来创建数据库。下面是一个创建名为 mydatabase 的数据库的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  db.createDatabase('mydatabase', function (err) {
    if (err) throw err;
    console.log('Database created successfully');
    db.close();
  });
});
JavaScript

在代码中,我们使用 db.createDatabase 方法创建了一个名为 mydatabase 的数据库。创建成功后,我们打印出成功的消息,并且断开与数据库的连接。

创建集合

在 MongoDB 中,集合(Collection)类似于关系数据库中的表。我们可以使用 mongoose 驱动来创建集合,并向集合中插入文档。下面是一个创建名为 users 的集合的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    email: String
  });

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

  const newUser = new User({
    name: 'John Doe',
    age: 25,
    email: 'johndoe@example.com'
  });

  newUser.save(function (err) {
    if (err) throw err;
    console.log('User saved successfully');
    db.close();
  });
});
JavaScript

在代码中,首先我们定义了 userSchema,它描述了用户文档的结构。然后,通过 mongoose.model 方法将 userSchema 编译为 User 模型。接着,我们创建了一个新的 User 实例 newUser,并将其保存到数据库中。

查询文档

在 MongoDB 中,我们可以使用 find 方法来查询匹配条件的文档。下面是一个查询名为 users 集合中所有文档的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    email: String
  });

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

  User.find({}, function (err, users) {
    if (err) throw err;
    console.log(users);
    db.close();
  });
});
JavaScript

在代码中,我们通过调用 User.find 方法并传入空对象 {} 查询所有的用户文档。查询结果将在回调函数中以数组的形式返回,并打印出来。

更新文档

要更新 MongoDB 数据库中的文档,我们可以使用 updateOneupdateMany 方法。下面是一个将名为 John Doe 的用户的年龄增加 1 的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    email: String
  });

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

  User.updateOne({ name: 'John Doe' }, { $inc: { age: 1 } }, function (err, res) {
    if (err) throw err;
    console.log('Document updated');
    db.close();
  });
});
JavaScript

在代码中,我们调用 User.updateOne 方法来更新名为 John Doe 的用户的文档。通过 $inc 操作符将年龄字段增加 1,并打印出更新成功的消息。

删除文档

要从 MongoDB 中删除文档,我们可以使用 deleteOnedeleteMany 方法。下面是一个删除名为 John Doe 的用户的示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
    email: String
  });

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

  User.deleteOne({ name: 'John Doe' }, function (err) {
    if (err) throw err;
    console.log('Document deleted');
    db.close();
  });
});
JavaScript

在代码中,我们调用 User.deleteOne 方法来删除名为 John Doe 的用户的文档,并打印出删除成功的消息。

总结

本文介绍了如何使用 Node.js 和 MongoDB 创建数据库。通过 mongoose 驱动,我们可以方便地连接到 MongoDB 数据库,并执行数据库操作,例如创建集合、插入文档、查询文档、更新文档以及删除文档等。希望本文能对你在使用 Node.js 和 MongoDB 进行数据库操作方面提供帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册