Javascript 如何聚合公共属性值的结果?
我有一群拥有Javascript 如何聚合公共属性值的结果?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一群拥有集团财产的人。组值是一个随机字符串,我在进行查询时不知道它。一些人的组值可能相同 我想写一个查询,每个组只检索一个人(在组中返回的那个人暂时不相关) 我想我必须写一些聚合。但我只读过关于已知值聚合的例子。。。相反,我需要对未知值进行聚合 我的模式类似于: const schemaPersons = new Schema({ name: { type: String, required: true, }, group: { type: String,
集团
财产的人。组值是一个随机字符串,我在进行查询时不知道它。一些人的组
值可能相同
我想写一个查询,每个组只检索一个人(在组中返回的那个人暂时不相关)
我想我必须写一些聚合。但我只读过关于已知值聚合的例子。。。相反,我需要对未知值进行聚合
我的模式类似于:
const schemaPersons = new Schema({
name: {
type: String,
required: true,
},
group: {
type: String,
},
};
您可以使用以下阶段编写聚合查询:
阶段,按$group
字段分组,并在group
字段中仅获取第一人称的根文档person
您可以使用stage编写聚合查询:
阶段,按$group
字段分组,并在group
字段中仅获取第一人称的根文档person
Persons.aggregate([
{
$group: {
_id: "$group",
person: { $first: "$$ROOT" }
}
}
]);