W Aggregation Framework Examples, jest pierwszym & Ostatni przykład:Czy mogę uzyskać pierwszy dokument (nie pole) w kwerendzie agregującej MongoDB?
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" } } }
mogę uzyskać pełny zipcodes dokument z $first
?
Zmieniano:
celu wyjaśnienia, używam coffeescript w mojej wyraźnej aplikacji wykonaj następujące rzeczą wydaje głupie:
@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}}
Pola (id, nazwa, ... tagi) są wszystkie pole schematu dokumentu. Po prostu chcę wiedzieć, czy jest jakiś sposób, aby to zrobić w pojedynczym $first
.
Co dokładnie próbujesz zdobyć? Czy sortowanie i pierwsze/ostatnie $ mają na celu uzyskanie minimalnych i maksymalnych populacji miast? –
Dziękuję za odpowiedź, właśnie zmieniłem pytanie, aby wyjaśnić, co chcę zrobić. – wuhaixing
nie ma sposobu, aby zrobić to teraz - myślałem, że był bilet jira dla tej funkcjonalności, ale nie mogę go znaleźć. –