我正在尝试使用我的用户收藏夹的第一个查询来搜索我的房间集合,以获得有关每个喜欢的房间的特定信息。但是,当我尝试执行我认为是正确的方法时,我将返回未定义状态。我可以在mongoDB地图集仪表板中看到对象在那里。
这是我当前的get函数以及两个集合模型。
// Get favorties
router.get('/favorite', ensureAthnticated, function(req, res){
Favorite.find({user:req.user._id}, function(err, favorites){
console.log(favorites.room);
Room.find({_id:favorites.room}, function(err, rooms){
if(err){
console.log(err);
} else {
// console.log(rooms);
res.render('favorites', {
rooms: rooms
});
}
});
});
});
const mongoose = require('mongoose');
// favorite Schema
let favoriteSchema = mongoose.Schema({
room:{
type: String,
required: true
},
user:{
type: String,
required: true
}
});
let Favorite = module.exports = mongoose.model('Favorite', favoriteSchema);
const mongoose = require('mongoose');
// Room Schema
let roomSchema = mongoose.Schema({
title:{
type: String,
required: true
},
author:{
type: String,
required: true
},
price:{
type: Number,
required: true
},
available:{
type: String,
required: true
},
sex:{
type: String,
required: true
},
sharingPreferences:{
type: String,
required: true
},
petsAllowed:{
type: String,
required: true
},
description:{
type: String,
required: false
}
});
let Room = module.exports = mongoose.model('Room', roomSchema);
我想从当前登录的用户中找到收藏夹集合中的所有房间,然后使用这些结果获取实际房间及其信息。