node学习篇——mongodb增删改查操作
来源:互联网 发布:甜甜圈软件 编辑:程序博客网 时间:2024/06/05 21:10
题外话:
前段时间里,通过传智博客的学习。对于mongodb的了解算是入门了。在这篇文章里,我进行的并不是对mongodb的语法概括,而是对mongodb的增删改查进行一系列的封装、总结。
正文:
在一个项目中,创建一个models文件夹并定义一个DAO层进行增删改查的封装。
总共通过6个步骤进行设计配置。
(进行数据库操作的都有mongodb官方文档进行参考,http://mongodb.github.io/node-mongodb-native/2.2/api/)
1. 连接数据库。默认端口为27017。将数据库连接进行封装以便为接下来的一系列数据库操作调用。
var MongoClient = require('mongodb').MongoClient;function _connectionDB(callback) {var url = 'mongodb://127.0.0.1:27017/mongos';MongoClient.connect(url, function(err, db) {if (err){callback("连接失败");return}// console.log("连接成功");callback(err,db);});}
2.插入文档。向外暴露插入函数,并进行callback回调进行数据库操作。
exports.insertOne=function (collectionName, json, callback) {_connectionDB(function (err, db) {db.collection(collectionName).insertOne(json,function (err,result) {callback(err,result);db.close();};})})
3.查询文档。查是处理逻辑比较多的一个操作,find函数中,实用skip与limit进行限制条数查询,通过sort进行排序查询。可以实现分页、排序等功能。
exports.find=function (collectionName, json,args, callback) {var result=[];var skipNumber=args.pageamount*args.page||0;var page=parseInt(args.pageamount)||0;var sort=args.sort||0;_connectionDB(function (err, db) {var collection = db.collection(collectionName).find(json).skip(skipNumber).limit(page).sort(sort);collection.each(function(err, docs) {if (err){callback("查询失败",null);return}if (docs!=null){result.push(docs);}else{callback(null,result);db.close();} });};})
4.删除文档。向外暴露一个函数,并传入一个json形式的数据进行数据库删除。
exports.deleteOne=function (collectionName, json, callback) {_connectionDB(function (err, db) {var collection = db.collection(collectionName);collection.deleteMany(json,function(err, result) {if (err){callback(err,null);return}callback(null,result);db.close();}); })};
5.修改文档。使用$set修改器进行数据库的修改。同样需要向外暴露函数。
exports.update=function (collectionName, json1,json2, callback) {_connectionDB(function (err, db) {var collection = db.collection(collectionName);collection.updateOne(json1 , { $set: json2}, function(err, result) {callback(null,result);db.close();}); })};
6.查看文档的总条数。
exports.getAllCount=function (collectionName, callback) {_connectionDB(function (err, db) {db.collection(collectionName).count({}).then(function(count) {callback(count);db.close();};});})
至此,增删改查的操作便完成了。
项目开发过程中,效率永远是排在第一位。贯穿于整个项目中无非便是增删改查,将其封装起来可以大大提高开发效率。
- node学习篇——mongodb增删改查操作
- MongoDB—增删查改
- node.js操作mongodb数据库(增删查改分页)
- php 操作mongodb——增删改查
- Mongodb学习(3)基本操作——增删改查
- MongoDB——增删查改
- MongoDB(三)——增删改查
- MongoDB——文档增删查改
- MongoDB(三)——增删改查
- mongodb——数据库增删改查
- MongoDB—细说增删查改
- MongoDB学习03之JAVA简单操作增删改查
- mongodb出征篇——sql增删改查大全
- MongoDB 增删查改基本操作
- mongodb php增删改查基本操作
- mongodb增删改查基本操作
- mongodb基础操作--增删改查
- mongodb增删改查操作汇总
- 万年历—Java计算感恩节是哪天?感恩节是哪一天?2017年感恩节是哪一天?
- Python 函数中,参数是传值,还是传引用?
- Docker 学习笔记
- Python学习记录-socket编程
- 配置Python的环境变量
- node学习篇——mongodb增删改查操作
- 【算法题】无前驱情况下删除单链表节点
- MyBatis Generator 详解
- USACO Section1.1 Greedy Gift Givers
- Python time strptime()方法
- flex之selectedItem与selectedIndex的区别
- htonl()ntohl()htons()函数的全称
- js中使用正则表达式
- 冒泡排序法