Last active
December 2, 2016 11:02
-
-
Save ZZR-china/c3a8d257d06a100568143982ff610ea4 to your computer and use it in GitHub Desktop.
Revisions
-
ZZR-china revised this gist
Dec 2, 2016 . No changes.There are no files selected for viewing
-
ZZR-china created this gist
Dec 2, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,86 @@ /* * Author: Magic <magic@foowala.com> * Module description: mongo func helper */ 'use strict'; var mongo_funcs = function (mongo_name) { this.findOne = (data) => { return new Promise((resolve, reject) => { mongo_name.findOne(data, (err, result) => { if (err) { return reject(err); } return resolve(result); }) }) }; this.save = (data) => { return new Promise((resolve, reject) => { const mongo_doc = new mongo_name(data); mongo_doc.save((err, result) => { if (err) { return reject(err); } return resolve(result); }) }) }; this.insert = (data) => { return new Promise((resolve, reject) => { this.findOne(data) .then(result => { if (result) { return reject('already has this func') }else{ return this.save(data) } }) .then(result => { resolve(result) }) .catch(err => { console.log(err) return reject(err); }) }) }, this.insertFree = (key, data) => { return new Promise((resolve, reject) => { this.findOne(key) .then(result => { if (result) { return reject('already has this func') }else{ return this.save(data) } }) .then(result => { resolve(result) }) .catch(err => { console.log(err) return reject(err); }) }) }, this.update = (key, data) => { return new Promise((resolve, reject) => { mongo_name.update(key, data, (err, result) => { if (err) { return reject(err); } return resolve(result); }) }) }; } module.exports = exports = mongo_funcs;