Nodejs中mongodb的使用及封装,前端笔试题汇总
在Node.js中使用MongoDB并进行封装,可以通过mongodb
官方提供的Node.js驱动程序来实现。以下是一个简单的封装例子:
- 安装
mongodb
模块:
npm install mongodb
- 创建一个
db.js
文件,封装数据库连接和操作:
const { MongoClient } = require('mongodb');
const url = 'mongodb://localhost:27017';
const dbName = 'mydatabase';
let _connection = null;
let _db = null;
const connectToDatabase = async () => {
if (_connection) {
return _connection;
}
_connection = await MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true });
_db = _connection.db(dbName);
console.log('Connected to database');
};
const getDb = () => {
if (_db) {
return _db;
}
throw new Error('Database not connected');
};
module.exports = {
connectToDatabase,
getDb
};
- 使用封装后的数据库操作:
const { connectToDatabase, getDb } = require('./db');
connectToDatabase()
.then(() => {
const db = getDb();
const collection = db.collection('mycollection');
// 例如,插入一个文档
collection.insertOne({ name: 'John Doe', age: 30 })
.then(result => console.log(result))
.catch(err => console.error(err));
})
.catch(err => console.error(err));
在这个例子中,我们首先导入了mongodb
模块,并定义了数据库的URL和数据库名称。connectToDatabase
函数负责连接到数据库,并且将连接和数据库对象保存在私有变量中,以防止重复连接。getDb
函数则用于获取数据库对象。在使用时,我们首先调用connectToDatabase
来确保数据库已连接,然后通过getDb
获取数据库对象,进而执行数据库操作,比如插入文档。
这样的封装可以使得数据库连接的管理和代码的模块化变得更简洁和高效。
评论已关闭