Вот мои тестовые коды, пожалуйста, убедитесь, что первый параметр 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)