node中封装MongoDB

node中封装MongoDB前言 封装方法 哪儿都能调用 岂不美哉 首先我们需要下载这个模块 npminstallmo 接下来新建一个 mongo js 文件 写入如下代码 varMongoClie require mongodb MongoClientv require mongodb ObjectID 地址 varurl 导出查询 mongo 自生成的 idexports objid ObjectID 封装 find 查询所有数据

前言:封装方法,哪儿都能调用,岂不美哉。


首先我们需要下载这个模块

npm install mongodb 

接下来新建一个mongo.js文件,写入如下代码:

var MongoClient=require('mongodb').MongoClient var ObjectID = require('mongodb').ObjectID; // 地址 var url = "" //导出查询mongo自生成的id exports.objid=ObjectID / * 封装find()查询所有数据 * @param {*} table 数据库名称 * @param {*} collect 集合名 * @returns */ exports.findAll=function findAll(table, collect) { 
      return new Promise((resolve, reject) => { 
      MongoClient.connect(url, function (err, db) { 
      if (err) throw err; var dbo = db.db(table); dbo.collection(collect).find().toArray(function (err, result) { 
      // 返回集合中所有数据 if (err) { 
      reject(err) } else { 
      resolve(result) db.close() } }) }) }) } / * 查询某一条记录 * @param {*} table * @param {*} collect * @param {*} params * @returns */ exports.findone= function findone(table, collect,params) { 
      return new Promise((resolve, reject) => { 
      MongoClient.connect(url, function (err, db) { 
      if (err) throw err; var dbo = db.db(table); dbo.collection(collect).find(params).toArray(function (err, result) { 
      // 返回集合中所有数据 if (err) { 
      reject(err) } else { 
      resolve(result) db.close() } }) }) }) } / * 封装更新方法 * @param {*} table * @param {*} collect * @param {*} id * @param {*} newdata * @returns */ exports.Update= function update(table, collect,id,newdata) { 
      return new Promise((resolve, reject) => { 
      MongoClient.connect(url, function (err, db) { 
      if (err) throw err; var dbo = db.db(table); dbo.collection(collect).updateOne(ObjectID(id), newdata, function(err, result) { 
      if (err) { 
      reject(err) } else { 
      resolve(result) db.close() } }) }) }) } / * 封装插入数据方法 * @param {*} table * @param {*} collect * @param {*} data * @returns */ exports.Insert= function insert(table, collect,data) { 
      return new Promise((resolve, reject) => { 
      MongoClient.connect(url, function (err, db) { 
      if (err) throw err; var dbo = db.db(table); dbo.collection(collect).insertOne(data, function(err, result) { 
      if (err) { 
      reject(err) } else { 
      resolve(result) db.close() } }) }) }) } / * 封装删除的方法 * @param {*} table * @param {*} collect * @param {*} params * @returns */ exports.Delete= function delete(table, collect,params) { 
      return new Promise((resolve, reject) => { 
      MongoClient.connect(url, function (err, db) { 
      if (err) throw err; var dbo = db.db(table); dbo.collection(collect).deleteOne(params, function(err, result) { 
      if (err) { 
      reject(err) } else { 
      resolve(result) db.close() } }) }) }) } 

调用:

const express = require('express') const mongo = require('../mongo/mongodb') const router = express.Router() router.get('/log', (req, res) => { 
      mongo.findAll('数据库名称', "集合名").then(resp => { 
      res.send({ 
      code: 200, count: resp.length, data: resp, msg: 'Search All Success' }) }) }) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221502.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:57
下一篇 2026年3月17日 下午5:57


相关推荐

  • 雷军宣布小米AI产品Xiaomi miclaw开启测试,称积极拥抱AI时代

    雷军宣布小米AI产品Xiaomi miclaw开启测试,称积极拥抱AI时代

    2026年3月13日
    2
  • 4.Python中条件语句使用方法(if语句、if嵌套)

    4.Python中条件语句使用方法(if语句、if嵌套)Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:1.if条件语句的基本用法:if判断条件:执行语句……else:执行语句……其中”判断条件”成立时(非零),则执行后…

    2026年4月13日
    4
  • 经典的量化交易算法

    经典的量化交易算法作者:徐Jebs来源:知乎加权平均价格算法(VMAP):以每一次交易的成交量为权重,一段时间内成交价格的加权平均值。该策略即利用历史成交量数据,将大段时间内的订单分割,成为动态发生的较小订单,目的是用接近成交量加权平均价格成交,从而以均价获利。该策略理论是以低于VWAP的价格买入或在以高于VMAP的价格卖出,则为好的交易。如图,在低于前一分钟的vmap时买入,高于…

    2022年6月26日
    75
  • linux查看当前环境变量的命令_linux添加环境变量

    linux查看当前环境变量的命令_linux添加环境变量1.显示环境变量HOME$echo$HOME/home/redbooks2.设置一个新的环境变量hello$exportHELLO=”Hello!”$echo$HELLOHello!3.使用env命令显示所有的环境变量$envHOSTNAME=redbooks.safe.orgPVM_RSH=/usr/bin/rshShell=/bin/bashTERM=xtermHISTSIZE=1000…4.使用set命令显示所有本地定义的She

    2022年9月30日
    8
  • Java+MySQL实现评论功能设计开发

    Java+MySQL实现评论功能设计开发Java MySQL 实现评论功能设计开发一 背景项目初始版本上线 有时间写点东西记录一下项目中的心得体会 通过这个项目学习了很多 要写下来的有很多 先从评论功能开始吧 由于项目需要增加评论功能 之前并无此方面的经验 因此项目开始的一段时间都在寻思着如何进行评论功能的设计 上网搜索一波

    2026年3月18日
    1
  • Python模块——os模块详解

    Python模块——os模块详解os 模块详解

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号