如何用Place模型中引用的City _id和Food模型中引用的Place模型用猫鼬查询所有食物。 编辑:(示例)如果我选择纽约(城市),我想从纽约获得所有食物。
const FoodSchema = new Schema({
place: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Place',
required: true
}})
const PlaceSchema = new Schema({
city: {
type: mongoose.Schema.Types.ObjectId,
ref: 'City',
required: true
}})
const CitySchema = new Schema({
name: {
type: String}})
答案 0 :(得分:0)
您可以多次使用populate()
。官方文档中的以下代码提供了一个示例,他们在其中查询用户,先填充用户的朋友,然后再填充朋友的朋友:
User.
findOne({ name: 'Val' }).
populate({
path: 'friends',
// Get friends of friends - populate the 'friends' array for every friend
populate: { path: 'friends' }
});
您的情况应该是
Food.find().populate({path: 'place', populate: {path: 'city'}})