gpt4 book ai didi

mongodb - 我可以在 MongoDB 聚合查询中获取第一个文档(不是字段)吗?

转载 作者:IT老高 更新时间:2023-10-28 13:19:55 25 4
gpt4 key购买 nike

Aggregation Framework Examples ,有第一个和最后一个例子:

db.zipcodes.aggregate( { $group:
{ _id: { state: "$state", city: "$city" },
pop: { $sum: "$pop" } } },
{ $sort: { pop: 1 } },
{ $group:
{ _id : "$_id.state",
biggestCity: { $last: "$_id.city" },
biggestPop: { $last: "$pop" },
smallestCity: { $first: "$_id.city" },
smallestPop: { $first: "$pop" } } }

我可以使用 $first 获得完整的邮政编码文档吗?

已编辑:

为了澄清,我在我的 express 应用程序中使用 CoffeeScript 做以下事情,似乎很愚蠢:

@aggregate(
{
$group :
_id : "$category"
cnt : { $sum : 1 }
id: {$first: "$_id"}
name: {$first: "$name"}
description: {$first: "$description"}
region: {$first: "$region"}
startedAt: {$first: "$startedAt"}
titleImage: {$first: "$titleImage"}
tags: {$first: "$tags"}
},
{$sort :{"createdAt" : -1}}

字段(id、name、...标签)都是文档模式的字段。我只是想知道,有没有办法在单个 $first 中做到这一点。

最佳答案

这在 2.6 中现在是可能的,因为您可以使用 $$ROOT 访问正在处理的文档。像这样的东西应该可以工作:

@aggregate([
{
$group: {
_id: "$category" ,
cnt: { $sum : 1 },
first: { $first : "$$ROOT" }
}
},{
$sort :{ "createdAt" : -1 }
}
])

关于mongodb - 我可以在 MongoDB 聚合查询中获取第一个文档(不是字段)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16409719/

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