【发布时间】:2021-07-16 02:13:05
【问题描述】:
我有一对多的关系,一个地方可以有多个评论。这是 2 个架构
export const PlaceSchema = new mongoose.Schema({
name: { type: String, required: true, unique: true },
center: { type: [Number], required: true },
borders: { type: [], required: true },
reviews: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Review' }]
});
export const ReviewSchema = new mongoose.Schema({
user: { type: String, required: true },
city: { type: mongoose.Schema.Types.ObjectId, ref: 'Place', required: true },
creation_date: { type: Date, required: true },
...
});
我有带有正确地点 ID 的评论。但是当我做一个简单的this.placeModel.find().populate('reviews').exec() 时,reviews 总是作为一个空数组返回。但是 ID 似乎没问题,如图所示(在左侧,在右侧查看)
这是我与 Mongo 一起玩的第一个项目,所以我真的看不出我缺少什么。
【问题讨论】:
-
如果您希望使用此查询@987654326 填充评论字段,您应该检查地方文档中是否有正确的评论 ID,而不是检查您在评论文档中是否有正确的评论 ID @.
标签: mongodb mongoose mongoose-schema mongoose-populate