前言:封装方法,哪儿都能调用,岂不美哉。
首先我们需要下载这个模块
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
