2016-06-24 21 views
0

我在做一個節點應用程序。用戶可以擁有喜歡的房間列表(就像願望清單一樣)。我試圖將列表ID添加到用戶喜歡的列表中,但總是給出未定義的列表。如果我做「console.log(users.favoriteListings);」輸出變得不確定。請任何幫助。當需要另一個文件的模式時,Mongoose Populate返回undefined

listingModel.js

var mongoose = require("mongoose"); 
var Schema = mongoose.Schema;//creating schema 


var ListingSchema = new Schema({ 
location: {//ROOM LOCATION 
      type: [Number], // [<longitude>, <latitude>] 
      index: '2d'  // create the geospatial index 
    }, 
} 
); 


var Listing = mongoose.model('Listing', ListingSchema); 

module.exports = Listing; 

userModel.js

var mongoose = require("mongoose"); 
var Schema = mongoose.Schema;//creating schema 
var Listing=require('../listing/listingModel'); 


var UserSchema = new Schema({ 

favoriteListings : [{ type: Schema.Types.ObjectId, ref: 'Listing' }], 


} 

); 


var User = mongoose.model('User', UserSchema); 


module.exports = User; 

userController.js

addFavListing:function(req,res){ 

//READ TOKEN AND FIND USER ID, IF USER HAS REACHED THIS POINT, THIS MEANS THAT TOKEN ALREADY 
//HAS BEEN VERIFIED 
var token = req.body.token || req.query.token || req.headers['x-access-token']; 
var decoded=jwt.verify(token, app.get('superSecret')); 
var id=decoded._doc._id;console.log(id); 


User.find({_id:id}).populate('favoriteListings').exec(function(err,users) { 
    if (err){ return handleError(err);} 
    console.log(users.favoriteListings); 

}); 

回答

0

你有一個數組的貓鼬用戶。 此數組沒有favoriteListings屬性。 但數組中的每個用戶都必須擁有他的favoriteListings。

在你UserController中,試圖通過這一個替換的console.log:解決

console.log(users.forEach(function(user) { 
    console.log(user.favoriteListings); 
})); 
+0

Thanku問題 – SyedAliRazaSherazi

相關問題