我真的是MongoDB的新手,正在使用Mongoose进行这项工作。基本上,我正在与Mongoose一起在Node JS,MongoDB上开发的项目上工作。
我的帖子集包含以下格式的数据:
{
"_id": ObjectId("5beb9f4476034d750c8b1b02"),
"message": "My Favourite place is my home",
"media": "",
"deleted_at": null,
"user_id": ObjectId("5be72e8899e40d0494546c2a"),
"likes": [
{
"_id": ObjectId("5bebaa20bdb5e405ce6584ff"),
"user_id": ObjectId("5be72cbe24babb7f94c395e1")
}
],
"comments": [
{
"deleted_at": null,
"_id": ObjectId("5bebaebd3e13290c5bcac8bd"),
"user_id": ObjectId("5be72cbe24babb7f94c395e1"),
"comment": "Me Too",
"created_at": ISODate("2018-11-14T05:12:29.441Z"),
"updated_at": ISODate("2018-11-14T05:12:29.441Z")
},
{
"deleted_at": null,
"_id": ObjectId("5bebaf226c22480ce824ea05"),
"user_id": ObjectId("5be72cbe24babb7f94c395e1"),
"comment": "Lets have a party at home",
"created_at": ISODate("2018-11-14T05:14:10.237Z"),
"updated_at": ISODate("2018-11-14T05:14:10.237Z")
}
],
"created_at": ISODate("2018-11-14T04:06:28.198Z"),
"updated_at": ISODate("2018-11-14T04:06:28.198Z"),
"__v": 0
}
以上只是一个文档的样本数据。我的收藏集将包含多个带有喜欢和评论的文档。
现在,我想获取我或我的朋友发布的所有帖子文档,以及各个帖子的喜欢和评论数量。在注释子文档中,仅应统计那些delete_at值为null或空白的注释。
我的朋友收藏如下:
{
"_id": ObjectId("5be745262aa9a826b4bc21ab"),
"status": 1,
"user_id_1": ObjectId("5be72cbe24babb7f94c395e1"),
"user_id_2": ObjectId("5be72e8899e40d0494546c2a"),
"action_user_id": ObjectId("5be72e8899e40d0494546c2a"),
"greet_message": "want to be friend",
"created_at": ISODate("2018-11-10T20:52:54.261Z"),
"updated_at": ISODate("2018-11-10T20:52:54.261Z"),
"__v": 0
}
现在,我无法考虑如何以这种方式进行查询,以便可以将我或我的朋友发布的所有帖子以及总的喜欢和评论。请帮我。
我知道,这个平台上已经发布了类似的问题,但我无法从中获得很多帮助。在我的情况下,我需要注意以下事项:
这些是我需要在单个查询中完成的一些问题,但我在任何地方都没有得到关于此的任何疑问。
除此之外,如果可能的话,我还想在帖子文档中获得额外的字段,该字段可以告诉我们,该帖子是否被我喜欢。
任何人都可以共享此方案的查询吗?我正在将node js与猫鼬一起使用。
谢谢