//这个模块里面封装了所有对数据库的常用操作
var MongoClient = require('mongodb').MongoClient;
var config = require("../config.js");
//不管数据库什么操作,都是先连接数据库,所以我们可以把连接数据库
//封装成为内部函数
function _connectDB(callback) {var url = config.dburl;   //从 config.js 文件中,都数据库地址//连接数据库MongoClient.connect(url, function (err, db) {if (err) {callback(err, null);return;}callback(err, db);});
}//插入数据
exports.insertOne = function (collectionName, json, callback) {_connectDB(function (err, db) {db.collection(collectionName).insertOne(json, function (err, result) {callback(err, result);db.close(); //关闭数据库
        })})
};//查找数据,找到所有数据。args是个对象{"pageamount":10,"page":10}
exports.find = function (collectionName, json, C, D) {var result = [];    //结果数组if (arguments.length == 3) {//那么参数C就是callback,参数D没有传。var callback = C;var skipnumber = 0;//数目限制var limit = 0;} else if (arguments.length == 4) {var callback = D;var args = C;//应该省略的条数var skipnumber = args.pageamount * args.page || 0;//数目限制var limit = args.pageamount || 0;//排序方式var sort = args.sort || {};} else {throw new Error("find函数的参数个数,必须是3个,或者4个。");return;}//连接数据库,连接之后查找所有_connectDB(function (err, db) {var cursor = db.collection(collectionName).find(json).skip(skipnumber).limit(limit).sort(sort);cursor.each(function (err, doc) {if (err) {callback(err, null);db.close(); //关闭数据库return;}if (doc != null) {result.push(doc);   //放入结果数组} else {//遍历结束,没有更多的文档了callback(null, result);db.close(); //关闭数据库
            }});});
}//删除
exports.deleteMany = function (collectionName, json, callback) {_connectDB(function (err, db) {//删除
        db.collection(collectionName).deleteMany(json,function (err, results) {callback(err, results);db.close(); //关闭数据库
            });});
}//修改
exports.updateMany = function (collectionName, json1, json2, callback) {_connectDB(function (err, db) {db.collection(collectionName).updateMany(json1,json2,function (err, results) {callback(err, results);db.close();});})
}exports.getAllCount = function (collectionName,callback) {_connectDB(function (err, db) {db.collection(collectionName).count({}).then(function(count) {callback(count);db.close();});})
}exports.count = function(cname,cond,cb){_connectDB(function (err, db) {db.collection(cname).count(cond).then(function(count) {cb(count);db.close();});});
}exports.one = function(cname, cond, cb){_connectDB(function (err, db) {db.collection(cname).count(cond).then(function(err, one) {cb(err, one);db.close();});});
}

先npm install mongodb , require 这个包

里面的config.js ,一般是配置文件的,设置数据库地址、端口

module.exports = {"dburl" : "mongodb://localhost:27017/secondHandGoods","port":8000
}

  

mongodb 的基本函数语法封装相关推荐

  1. mongodb netcore 操作封装_mongodb 的基本函数语法封装

    //这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb').MongoClient; var config = require(" ...

  2. MongoDB的基本语法

    文章目录 一.介绍 MongoDB的特点 MongoDB的体系结构 MongoDB 数据类型 二.安装MongoDB 三.语法 1.选择和创建数据库 2.插入与查询文档 3.按条件查询 4.返回指定条 ...

  3. mongoDB的常用语法

    安装: 到mongodb官网下载安装包或者压缩包:https://www.mongodb.com/download-center?jmp=nav 1.如果是msi包的话则点击按步骤安装,如果是压缩包的 ...

  4. MongoDB的高级语法

     任务 Mongodb SQL 备注 所有age大于20并且sex为"男"的数据.(隐式) db.getCollection('example_data_1').find({'ag ...

  5. mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)

    1 ) . 大于,小于,大于或等于,小于或等 $gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.collection.find({ "field" ...

  6. 【Rochester】MongoDB的基本语法和使用

    一.概念与特点 后期补 二.基本常用命令 1. 数据库操作 1.1 选择和创建数据库 use 数据库名称 注:如果数据库不存在,就自动创建. 1.2 查看所有数据库命令 1. show dbs 2. ...

  7. mongodb使用常用语法,持续更新

    设置快捷命令 D:\mongodb4.0.8\bin>mongod --config "D:\mongodb4.0.8\mongo.conf" --auth --instal ...

  8. MongoDB 官方C#驱动 封装 DbHelper

    这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.4/getting_started/quick_to ...

  9. redash 上写 mongodb 查询语句 语法

    1.常用语法关键字 1.1.aggregate 聚合函数 语法看下面,基本都在聚合函数里写 1.2.group 分组 根据下单日期分组,注意分组后字段会只剩下分组字段和统计字段 {"coll ...

最新文章

  1. 2022-2028年中国节能建材行业深度调研及投资前景预测报告
  2. 台式计算机,笔记本电脑如何查看自己的电池损耗情况!
  3. TIOBE 1 月编程语言:Python 摘得 2020 年度编程语言!
  4. 怎么在vue的@click里面直接写js_【转】为 Node.js 贡献你的力量 ———— 调试代码
  5. jdk重启后步行_向后介绍步行以一种新颖的方式来预测未来
  6. wordmaker html转为word,PHP HTML生成word
  7. 电子电路学习笔记(12)——稳压二极管
  8. 学生简单个人博客网页DW模板 简单HTML静态网页设计个人主页制作 大学生个人网站模板下载 网页作业个人主页制作
  9. 用JavaScript检测IE浏览器版本
  10. LINQ分页和排序,skip和Take 用法
  11. 思源笔记局域网内访问【使用教程】
  12. 网站的工作原理:网络开发新手(或任何人)入门
  13. 揭秘:男人什么时候最想结婚
  14. 动态规划之钢条切割问题——Rod-cutting problem
  15. [转]全图形PPT设计指南
  16. 一种有手就行的物联网平台的多终端接入方法
  17. 【Opencv】无损保存png图片,JPG始终有损
  18. 关于intrins.h头文件的介绍
  19. 【论文复现】Consistent Video Depth Estimation
  20. 射频标签工作频率的分类

热门文章

  1. python学习笔记之数据类型(二)
  2. Python描述性统计
  3. C 语言实例 - 计算 int, float, double 和 char 字节大小
  4. CalendarDemo Calendar 类的创建及用法
  5. BZOJ 2588: Spoj 10628. Count on a tree( LCA + 主席树 )
  6. Python学习笔记总结
  7. 实例教程三:文件的保存与读取
  8. 位运算和sizeof运算符
  9. lua和torch的安装
  10. IMU-Allan方差分析