gpt4 book ai didi

mongodb - 如何获取 MongoDB 中加入的集合的数量?

转载 作者:行者123 更新时间:2023-12-05 03:47:15 25 4
gpt4 key购买 nike

我这里有我的示例查询,可以按字段“company_name”加入多个集合,这是我在 mongodb 的第一天,

我不确定如何获取连接元素的数量。

我有 3 个具有相同列“company_name”的集合

  • 公司废料数据
  • 公司新闻
  • 公司_ma

到目前为止,这是我的查询,

db.ds_companyscrapdata.aggregate(
[
{
$match: {
"company_name": "Group, LLC"
}
},
{
$lookup: {
from: "ds_company_news",
localField: "company_name",
foreignField: "company_name",
as: "newsData"
}
},
{
$lookup: {
from: "ds_company_ma",
localField: "company_name",
foreignField: "company_name",
as: "MA"
}
}
])

返回结果如下

{
"_id" : ObjectId("5f7c114266938e100708f258"),
"company_name" : "Group, LLC",
"date" : "2020-10-06",
"created_at" : "2020-10-06 06:40:02",
"status" : 1,
"is_delta" : 0,
"newsData" : [
{
"_id" : ObjectId("5f7c113766938e100708f253"),
"news_tite" : "412802876",
"news_link" : "Jeddie",
"company_name" : "Group, LLC",
},
{
"_id" : ObjectId("5f7c113766938e100708f223"),
"news_tite" : "title2",
"news_link" : "test news link",
"company_name" : "Group, LLC",
}
],
"MA" : [
{
"_id" : ObjectId("5f7c113766938e100708f253"),
"merge_acquisition" : "Sample Acquisition",
"url_link" : "sample ma link",
"company_name" : "Group, LLC",
}
]
}

如何生成这样的东西,

{
"_id" : ObjectId("5f7c114266938e100708f258"),
"company_name" : "Group, LLC",
"date" : "2020-10-06",
"created_at" : "2020-10-06 06:40:02",
"status" : 1,
"is_delta" : 0,
"newsDataCount" : 2,
"MACount" : 1
}

谢谢

最佳答案

你需要

  • 测量连接字段的$size
  • $unset 之前的字段

(建议:如果您需要快速学习,请使用 Atlas 或 Compass,而不是 CLI)。

db.ds_companyscrapdata.aggregate(
[
{
$match: {
"company_name": "Group, LLC"
}
},
{
$lookup: {
from: "ds_company_news",
localField: "company_name",
foreignField: "company_name",
as: "newsData"
}
},
{
$lookup: {
from: "ds_company_ma",
localField: "company_name",
foreignField: "company_name",
as: "MA"
}
},
{
$addFields:{
newsDataCount:{$size:"$newsData"},
MACount:{"$size":"$MA"}
}
},
{$unset:["MA", "newsData"]}
])

关于mongodb - 如何获取 MongoDB 中加入的集合的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64906363/

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