gpt4 book ai didi

node.js - "query"计算每个类别的帖子 expressjs mongoose

转载 作者:可可西里 更新时间:2023-11-01 10:38:08 25 4
gpt4 key购买 nike

我是 MERN 堆栈的新手我试着写这个查询,但我不能,并且在没有任何解决方案的情况下在谷歌上搜索了很多

我必须在第一个表中列出帖子,在第二个表中列出类别

表 1 帖子

--------------------------
|id | title | category |
--------------------------
| 1 | title1 | 1 |
| 2 | title2 | 2 |
| 3 | title3 | 1 |
| 4 | title4 | 1 |

=================表2类别

---------------
|id | name |
---------------
| 1 | cat1 |
| 2 | cat2 |

====================我想要的结果是这样的

---------------------------------
|id | name | number of posts |
---------------------------------
| 1 | cat1 | 3 |
| 2 | cat2 | 1 |

如果它可以帮助我在 mysql 中编写这个查询

SELECT categories.*,COUNT(posts.id) AS np FROM `categories` JOIN materials ON (categories.id = posts.category) GROUP BY categories.id

谢谢

最佳答案

您可以在 mongodb 3.6 及更高版本中尝试以下聚合

db.collection.aggregate([
{ "$lookup": {
"from": "posts",
"let": { "id", "$id" },
"pipeline": [
{ "$match": { "$expr": { "$eq": ["$category", "$$id"] }}},
{ "$count": "count" }
],
"as": "count"
}},
{ "$project": {
"name": 1,
"numberOfPosts": { "$arrayElemAt": ["$count.count", 0] }
}}
])

关于node.js - "query"计算每个类别的帖子 expressjs mongoose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52452853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com