一、使用 `mongodb` 驱动程序
`mongodb` 是 MongoDB 官方提供的 Node.js 驱动,能让你直接与 MongoDB 数据库交互。
1. 安装 `mongodb` 驱动
bash
npm install mongodb
2. 连接数据库并进行操作
javascript
const { MongoClient } = require("mongodb");
// 数据库连接 URI
const uri = "mongodb://localhost:27017";
// 数据库名称
const dbName = "myDatabase";
// 创建 MongoClient 实例
const client = new MongoClient(uri);
async function run() {
try {
// 连接到 MongoDB 服务器
await client.connect();
console.log("Connected successfully to server");
// 选择数据库
const db = client.db(dbName);
// 选择集合
const collection = db.collection("myCollection");
// 插入一个文档
const insertResult = await collection.insertOne({ name: "John", age: 30 });
console.log("Inserted document =>", insertResult);
// 查询所有文档
const findResult = await collection.find({}).toArray();
console.log("Found documents =>", findResult);
} finally {
// 关闭连接
await client.close();
}
}
run().catch(console.dir);
二、使用 `mongoose` 库
`mongoose` 是一个基于 `mongodb` 驱动的对象数据建模(ODM)库,提供了更高级的抽象和便捷的操作方式。
1. 安装 `mongoose`
bash
npm install mongoose
2. 连接数据库并进行操作
javascript
const mongoose = require("mongoose");
// 数据库连接 URI
const uri = "mongodb://localhost:27017/myDatabase";
// 连接到 MongoDB
mongoose.connect(uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
// 获取数据库连接对象
const db = mongoose.connection;
// 监听连接成功事件
db.on("connected", () => {
console.log("Connected to MongoDB");
});
// 监听连接错误事件
db.on("error", (err) => {
console.error("MongoDB connection error:", err);
});
// 定义数据模型
const userSchema = new mongoose.Schema({
name: String,
age: Number,
});
const User = mongoose.model("User", userSchema);
// 创建一个新用户实例
const newUser = new User({ name: "Jane", age: 25 });
// 保存新用户到数据库
newUser
.save()
.then((savedUser) => {
console.log("Saved user:", savedUser);
// 查询所有用户
return User.find({});
})
.then((users) => {
console.log("All users:", users);
// 关闭数据库连接
mongoose.disconnect();
})
.catch((err) => {
console.error("Error:", err);
// 关闭数据库连接
mongoose.disconnect();
});