mongodb 的基本函数语法封装
//这个模块里面封装了所有对数据库的常用操作 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 的基本函数语法封装相关推荐
- mongodb netcore 操作封装_mongodb 的基本函数语法封装
//这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb').MongoClient; var config = require(" ...
- MongoDB的基本语法
文章目录 一.介绍 MongoDB的特点 MongoDB的体系结构 MongoDB 数据类型 二.安装MongoDB 三.语法 1.选择和创建数据库 2.插入与查询文档 3.按条件查询 4.返回指定条 ...
- mongoDB的常用语法
安装: 到mongodb官网下载安装包或者压缩包:https://www.mongodb.com/download-center?jmp=nav 1.如果是msi包的话则点击按步骤安装,如果是压缩包的 ...
- MongoDB的高级语法
任务 Mongodb SQL 备注 所有age大于20并且sex为"男"的数据.(隐式) db.getCollection('example_data_1').find({'ag ...
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
1 ) . 大于,小于,大于或等于,小于或等 $gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.collection.find({ "field" ...
- 【Rochester】MongoDB的基本语法和使用
一.概念与特点 后期补 二.基本常用命令 1. 数据库操作 1.1 选择和创建数据库 use 数据库名称 注:如果数据库不存在,就自动创建. 1.2 查看所有数据库命令 1. show dbs 2. ...
- mongodb使用常用语法,持续更新
设置快捷命令 D:\mongodb4.0.8\bin>mongod --config "D:\mongodb4.0.8\mongo.conf" --auth --instal ...
- MongoDB 官方C#驱动 封装 DbHelper
这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.4/getting_started/quick_to ...
- redash 上写 mongodb 查询语句 语法
1.常用语法关键字 1.1.aggregate 聚合函数 语法看下面,基本都在聚合函数里写 1.2.group 分组 根据下单日期分组,注意分组后字段会只剩下分组字段和统计字段 {"coll ...
最新文章
- 2022-2028年中国节能建材行业深度调研及投资前景预测报告
- 台式计算机,笔记本电脑如何查看自己的电池损耗情况!
- TIOBE 1 月编程语言:Python 摘得 2020 年度编程语言!
- 怎么在vue的@click里面直接写js_【转】为 Node.js 贡献你的力量 ———— 调试代码
- jdk重启后步行_向后介绍步行以一种新颖的方式来预测未来
- wordmaker html转为word,PHP HTML生成word
- 电子电路学习笔记(12)——稳压二极管
- 学生简单个人博客网页DW模板 简单HTML静态网页设计个人主页制作 大学生个人网站模板下载 网页作业个人主页制作
- 用JavaScript检测IE浏览器版本
- LINQ分页和排序,skip和Take 用法
- 思源笔记局域网内访问【使用教程】
- 网站的工作原理:网络开发新手(或任何人)入门
- 揭秘:男人什么时候最想结婚
- 动态规划之钢条切割问题——Rod-cutting problem
- [转]全图形PPT设计指南
- 一种有手就行的物联网平台的多终端接入方法
- 【Opencv】无损保存png图片,JPG始终有损
- 关于intrins.h头文件的介绍
- 【论文复现】Consistent Video Depth Estimation
- 射频标签工作频率的分类