我有方法getFollowing获取以下用户的列表
UserSchema.statics.getFollowing = function(data, callback) {
console.log("data: ", data);
this.findOne({
name : data.name
}, function(err, docs) {
if (err)
callback("error " + err)
else if (docs) {
console.log("XXXX", docs.following_count)
mongoose.model('User').findOne({
_id : docs._id
}).populate('following', 'name screen_name avatar _id').exec(function(err, res) {
if (err)
callback(err);
// console.log('The following is %s', res)
});
callback(docs.following);
}
else callback('{"error": "user-not-found"}');
});
}
我想回调发送到客户端docs.following列表 我不知道什么时候我在console.log(docs.following)打印但是当我回调时(docs.following)它返回错误。
我像那样定义UserSchema
var UserSchema = new Schema({
created_at : { type: Date, default: Date.now }
, name : String
, hashedPass : String
, salt: String
, email : Email
, avatar : {type: String, default: "images/default_profile.png" }
, statuses_count : Number
, screen_name : String
, location : String
, about : String
, followers: [{ type: ObjectId, ref: 'User' }]
, following: [{ type: ObjectId, ref: 'User' }]
, followers_count : Number
, following_count : Number
});
答案 0 :(得分:0)
我认为您希望将callback(docs.following);
调用转移到回调中(您当前拥有// console.log('The following is %s', res)
)。此外,按照惯例,回调的第一个参数是错误,第二个参数是数据,因此将callback(docs.following);
更改为callback(null, docs.following);
。