javascript - Static method doesn't return -
i did try create static method in collection, doesn't callback
my code is:
//db.js
var myschema = new mongoose.schema({ name: {type: string, required: true, unique: true}, userid: {type: mongoose.schema.types.objectid, ref: 'user', required: true }, }); myschema.statics.finddashboardbyuserid = function (userid, callback) { console.log("id ===> "+userid); this.find({ userid: mongoose.types.objectid(userid) }, 'name', callback); }; myschema.statics.findbyname = function (name, callback) { console.log("name ===> "+name); this.find({ name: name }, 'index', callback); }; // build myschema model var myschema = mongoose.model('myschema', myschema);
//app.js
var mydb = require('./db'); var mongoose = require('mongoose'); var myschema = mongoose.model( 'myschema' ); exports.getuserlist = function (req, res) { myschema.findbyuserid(req.params.userid, function (err, user) { if(!err){ console.log(user); res.json(user); }else{ console.log(err); res.json({"status":"error", "error":"error"}); } }); myschema.findbyname('foo', function (err, username) { if(!err){ console.log(username); res.json(username); }else{ console.log(err); res.json({"status":"error", "error":"error"}); } }); }; //console id ===> 77777777ffffff0000000011 name ===> first
i haven't callback. , never have console.log in app.js, have console.log in db.js
Comments
Post a Comment