我想知道这个Mongoose Model场景是否有用,目前无法测试它。
var xSchema = new mongoose.Schema({
Data: String
});
xSchema.methods.getData = function(ID){
SSS.findById(ID, function(err, found){
if(err) throw err;
return found;
}
}
SSS = mongoose.model('x', xSchema);
SSS.getData()
会正确返回Data
吗?
答案 0 :(得分:1)
以下是我的测试代码,请确保mongoose.model
的第一个参数与SSS
相同,就像我的代码如下所示。
var xSchema = new mongoose.Schema({
Data: String
});
xSchema.methods.getData = function(ID, callback){
SSS.findById(ID, function(err, found){
if(err) throw err;
else
callback && callback(found);
});
}
var SSS = mongoose.model('SSS', xSchema);
function findX() {
var s1 = new SSS({data: 'dd'});
// the `"56d7c1b29741d2982750c725"` is the `_id` of `{Data: 'test'}`
s1.getData("56d7c1b29741d2982750c725", function(d) {
console.log(d);
})
}
function saveX() {
var s = new SSS({Data: 'test'});
s.save(function (err) {
if (err)
console.log(err);
else
console.log('save sss successfully');
});
}
xSchema.methods
定义instance method
,也许Statics
方法会更好
xSchema.statics.getData = function (ID, cb) {
然后您可以通过
访问此方法SSS.getData(ID, cb)