2013-02-23 61 views
0

我有方法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

我想你想以移動電話callback(docs.following);進入回調(如你目前有// console.log('The following is %s', res))。另外,按照慣例,回調的第一個參數是錯誤,第二個參數是數據,因此請將callback(docs.following);更改爲callback(null, docs.following);