gpt4 book ai didi

mongodb - 计算每个文档的子文档

转载 作者:可可西里 更新时间:2023-11-01 09:29:57 25 4
gpt4 key购买 nike

我试图只计算每个文档在 Mongo 中的子文档数。

使用 db.users.find().length() 可以轻松获取集合中的文档。我想做类似 db.users.projects.find().length() 的事情。我该怎么做?

编辑:

我想要的结果是知道每个用户有多少个项目......所以像这样:

{_id: 123, projects: 4}

示例用户文档:

{
_id:{$oid: 123},
username: johnsmith,
projects: [{$oid: 456}, {$oid: 789}]
}

最佳答案

根据@n9code,您将需要聚合框架。但是,您可以使用 $size 非常轻松地计算子文档:

db.users.aggregate([{
$project: {
_id: '$_id',
totalProjects: { $size: "$projects" }
}
}]);

应该返回这样的东西:

{ "_id" : ObjectID(...), "totalProjects" : 89 }, ...

$size将返回每个文档的 projects 数组的长度和 $project更改文档的格式以包括 totalProjects 作为 projects 数组的大小。

关于mongodb - 计算每个文档的子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31618197/

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