【发布时间】:2022-01-23 15:14:17
【问题描述】:
我有一个用户、电影和愿望清单的集合。
一个用户已经存储在一个变量 user_email 中,我想获取所有具有相同 id 的 movie 对象一个存储在愿望清单中。以下是一些架构和数据类型:
示例:
user_email: shangchi@gmail.com
电影 电影架构:
const movieSchema = mongoose.Schema({
image: String,
title: String,
rating: String,
length: String,
// timeslots: Array
timeslots: [{
id: Number,
time: String,
seats: []
}]
});
电影数据样本:
_id: 61d65a3431a314f4fc7e9170
image: "https://static.onecms.io/wp-content/uploads/sites/20/2021/08/25/spence..."
title: "Spencer"
rating: "R"
length: "1 hr 57 min"
timeslots: Array
__v: 0
愿望清单 愿望清单架构:
const wishlistSchema = mongoose.Schema({
user: String,
movie: Schema.ObjectId
}
愿望清单中的所有数据:
_id: 61ea4e67984f981ee529c008
user: "shangchi@gmail.com"
movie: 61d65a3431a314f4fc7e9170
__v: 0
_id: 61ecf6f6c7b93b96890c9ebb
user: "shangchi@gmail.com"
movie: 61e3a7bed4f5306388103156
__v: 0
_id: 61ecf73c9f651a07079c9641
user: "hello@gmail.com"
movie: 61e3acc21d84993477d89a22
__v: 0
_id: 61ecf73e9f651a07079c9644
user: "hello@gmail.com"
movie: 61d65a3431a314f4fc7e9170
__v: 0
如何获取与Wishlist集合中所有movies和shangchi email相匹配的所有movie对象数组?
【问题讨论】:
-
你在用猫鼬吗?
-
是的,我是。但我似乎无法弄清楚这将如何发展。
-
您可以运行查找查询并填充愿望清单集合上的电影。查询看起来像这样 - const movies = await Wishlist.find({ user: "shangchi@gmail.com" }).populate("movie", null, "Movie")
-
这行得通!非常感谢!!
-
太棒了!我用相同的方法在下面发布了一个答案。请接受它,以便将您的问题标记为已解决,其他人也可以看到解决方案。