【发布时间】:2021-11-06 20:13:06
【问题描述】:
场景:我们有一个应用程序,其中包含 Posts 集合和一个 Likes 集合,其中 postId 和 customerId 与之关联。这两个集合的架构定义如下:
// Post Schema
let postSchema = new Schema({
user: {type: Schema.Types.ObjectId, ref: "user"},
text: {type: String},
likeCount: {type: Number}
)}
// Like Schema
let likeSchema = newSchema({
post: {type: Schema.Types.ObjectId, ref: "post"},
user: {type: Schema.Types.ObjectId, ref: "user"},
})
案例:我将获取帖子(带有分页)。但是,我还想发送一个指示符,说明用户是否已经喜欢这篇文章。
问题:
- 获取一组带有附加指示符(或新键)的文章的最佳方法是说明现有用户是否喜欢它。 (我将在执行查询时获得 userId)。
- 聚合是一个不错的选择吗?如果是,我该如何聚合它?真的对管道感到困惑。
- 如果不是聚合,如果用户喜欢或不喜欢帖子,还有什么可能是最好的映射方式?
其他详细信息:我们在服务器端使用 Node.Js,我们将对喜欢的集合编制索引。
【问题讨论】:
-
你能提供样本数据和你的预期输出吗?
标签: node.js mongodb mongoose mongodb-query aggregation-framework