【发布时间】:2014-07-04 18:31:27
【问题描述】:
说我在User.js中有以下架构
var mongoose = require('mongoose');
var Q = require('q');
var userSchema = new mongoose.Schema({
phone: {
type: Number,
require: true,
index: {
unique: true
}
}
});
module.exports = mongoose.model('User', userSchema);
module.exports.findOne = Q.nfbind(module.exports.findOne.bind(module.exports));
module.exports.find = Q.nfbind(module.exports.find.bind(module.exports));
还有另一个文件testuser.js
var mongoose = require('mongoose');
var Q = require('q');
var User = require('../User');
var connectionStr = "mongodb://localhost:27017/user-model-test";
mongoose.connect(connectionStr, function(error) {
if (error) {
throw(error);
}
console.log("Connect to MongoDB...");
var testuser = new User({
phone: 1008611,
});
testuser.save = Q.nfbind(testuser.save.bind(testuser));
testuser.save().then(function () {
return User.findOne({ phone: 1008611 }).then(function (user) {
console.log(user.phone);
mongoose.disconnect();
}, function (error) {
throw(error);
});
}, function (error) {
throw(error);
}).done();
});
请注意,目前我使用testuser.save = Q.nfbind(testuser.save.bind(testuser)); 绑定save,但我想在User.js 中进行绑定,例如module.exports.find = Q.nfbind(module.exports.find.bind(module.exports));,有什么办法可以做到吗?
谢谢。
【问题讨论】:
标签: node.js mongoose promise q