Last active
December 2, 2016 11:02
-
-
Save ZZR-china/c3a8d257d06a100568143982ff610ea4 to your computer and use it in GitHub Desktop.
a mongoose helper func, you can new it with a model. (the args should all be object in es6, like {status, name}, there status, name can be string or number.)
This file contains 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 characters
/* | |
* Author: Magic <[email protected]> | |
* 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; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment