概述
Nodejs中mongodb的基础语法封装
mongodb介绍
mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它的特点:高性能、易部署、易使用,存储数据非常方便。
特点
1、一个mongodb中可以建立多个数据库。MongoDB的默认数据库为"db",该数据库存储在data目录中。MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
2、集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统)中的表格。集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
3、文档是一个键值(key-value)对(即JSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
举一个例子如下:
{“genres”: [“教育”,“剧情” ],“title”: “阿甘正传”},
{“genres”: 123,“title”: “阿甘正传”}
mongodb在Nodejs中的操作
1、安装
npm install mongodb
2、导入模块及引入并连接
const MongoClient = require(‘mongodb’).MongoClient;
const url = ‘mongodb://localhost:27017’;
3、链接库和集合
let db = client.db(‘库名’)
let user = db.collection(‘集合名’)
集合操作
//user.API() 集合操作 返回 对象
//增
insertOne(对象数据,(err,res)=>{}) //res = 对象
insertMany(arr数据,(err,res)=>{}) //res = 对象
//删:
deleteOne({条件},(err,result)=>{})
//改:
updateOne({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},(err,res)=>{})
updateMany({条件},{更新后},{配置},(err,res)=>{})
//查:
user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象})
user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr})
user.countDocuments((err,num)=>{num返回数量})
增删改查方法封装
// 导入模块 并获取一个属性
const MongoClient = require('mongodb').MongoClient;
// 连接到数据库的路径
const url = 'mongodb://localhost:27017';
// 声明数据库名
const dbName = "test";
// 创建数据库对象
const client = new MongoClient(url, {
useUnifiedTopology: true
});
// 暴露操作数据库的四个方法
module.exports = {
// 查询
find(collectionName, query, callback) {
client.connect(function (err) {
const db = client.db(dbName);
const collection = db.collection(collectionName);
collection.find(query).toArray(function (err, docs) {
console.log(docs);
callback(docs)
// 关闭数据库
client.close();
});
})
},
/**
* mongodb新增功能
* @param {*} collectionName 集合名称
* @param {*} insertData 新增的数据 一定是一个数组
* @param {*} callback 操作成功之后的回调函数
*/
insert(collectionName, insertData, callback) {
client.connect(function (err) {
const db = client.db(dbName);
const collection = db.collection(collectionName);
collection.insertMany(insertData, function (err, result) {
callback(result);
// 关闭数据库
client.close();
});
})
},
/**
* 删除功能
* @param {*} collectionName
* @param {*} query
* @param {*} callback
*/
delete(collectionName, query, callback) {
client.connect(function (err) {
const db = client.db(dbName);
const collection = db.collection(collectionName);
collection.deleteOne(query, function (err, result) {
callback(result);
// 关闭数据库
client.close();
});
})
},
/**
* 修改数据
* @param {*} collectionName 集合名称
* @param {*} query 查询条件
* @param {*} updateData 修改后的数据
* @param {*} callback 操作成功的回调函数
*/
update(collectionName, query, updateData, callback) {
client.connect(function (err) {
const db = client.db(dbName);
const collection = db.collection(collectionName);
collection.updateOne(query, {
$set: updateData
}, function (err, result) {
callback(result);
// 关闭数据库
client.close();
});
})
}
}
使用实例
在使用时,这里我们用到了express框架,需要导入入express模块,然后将封装的dbHelper 文件模块导入
const express = require("express");
const dbHelper = require("./views/lib/dbHelper")
const app = express();
// 静态资源托管
app.use(express.static("views"));
// 首页列表数据传递
app.get("/list", (req, res) => {
dbHelper.find("lol",{},result=>{
res.send(result)
})
})
最后
以上就是感动帅哥为你收集整理的Nodejs中mongodb的基础语法封装的全部内容,希望文章能够帮你解决Nodejs中mongodb的基础语法封装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复