javascript - 如何汇总公共属性值的结果?
问题描述
我有一组拥有group
财产的人。组值是一个随机字符串,我不知道何时进行查询。有些人group
的价值观可能是相同的。
我想编写一个查询来每组只检索一个人(该组中返回的人目前不相关)。
我想我必须编写某种聚合。但是我只阅读了关于聚合已知值的示例......相反,我需要聚合未知值......
我的架构是这样的:
const schemaPersons = new Schema({
name: {
type: String,
required: true,
},
group: {
type: String,
},
};
解决方案
您可以使用$group阶段编写聚合查询:
$group
阶段,按字段分组,并且只获取字段group
中第一人的根文档person
Persons.aggregate([
{
$group: {
_id: "$group",
person: { $first: "$$ROOT" }
}
}
]);
推荐阅读
- python - 确保 PyArray_SimpleNewFromData 中使用的内存被正确释放?
- shiro - Shiro权限配置和自定义过滤器冲突
- python - ModuleNotFoundError:即使在安装和重新安装后也没有名为“bs4”的模块
- codeigniter - 用一个查询更新表
- r - 公开的 Shiny 仪表板用户是否有机会从发布的仪表板中发现 SQL 数据库凭据?
- django - 如何在Django数据库中获取对象的ID
- symfony4 - 有没有集成用户认证的项目模板?
- wordpress - 如何:WooCommerce 产品批处理 API 调用的后台处理
- c - 如何修复此结构/链表脚本中的不兼容类型?
- c++ - 指针内存分配和删除