1.根目录/module/db.jsjavascript
/** * DB库 */ var MongoClient = require('mongodb').MongoClient; var Config = require('./config.js'); class Db { /** * 单例 * 解决屡次实例化,实例不共享的问题 */ static getInstance() { if (!Db.instance) { Db.instance = new Db(); } return Db.instance; } constructor() { this.dbClient = ''; /*属性 存放db对象*/ this.connect(); /*实例化的时候就链接数据库*/ } connect() { /*链接数据库*/ let _that = this; return new Promise((resolve, reject) => { if (!_that.dbClient) { /*解决数据库屡次链接的问题*/ MongoClient.connect(Config.dbUrl, (err, client) => { if (err) { reject(err); } else { _that.dbClient = client.db(Config.dbName); resolve(_that.dbClient); } }) } else { resolve(_that.dbClient); } }) } find(collectionName, json) { /*查询数据*/ return new Promise((resolve, reject) => { this.connect().then((db) => { var result = db.collection(collectionName).find(json); result.toArray((err, docs) => { if (err) { reject(err); return; } resolve(docs); }) }) }) } update(collectionName, json1, json2) { /*更新数据*/ return new Promise((resolve, reject) => { this.connect().then((db) => { db.collection(collectionName).updateOne(json1, { $set: json2 }, (err, result) => { if (err) { reject(err); } else { resolve(result); } }) }) }) } insert(collectionName, json) { /*新增数据*/ return new Promise((resolve, reject) => { this.connect().then((db) => { db.collection(collectionName).insertOne(json, function (err, result) { if (err) { reject(err); } else { resolve(result); } }) }) }) } remove(collectionName, json) { /*删除数据*/ return new Promise((resolve, reject) => { this.connect().then((db) => { db.collection(collectionName).removeOne(json, function (err, result) { if (err) { reject(err); } else { resolve(result); } }) }) }) } } module.exports = Db.getInstance();
.java