集計での位置表記はまだサポートされていないようです、このチケットをチェックしてください 。
@Sammayeが言うように、最初に配列を巻き戻すか、座標配列を埋め込みlng
に置き換える必要があります。 / lat
埋め込まれたドキュメント。これは簡単なことです。
配列構造を考えると、次のようにlat/lngをほどいて投影することができます。
myColl.aggregate([
// unwind the coordinates into separate docs
{$unwind: "$myCoordinates"},
// group back into single docs, projecting the first and last
// coordinates as lng and lat, respectively
{$group: {
_id: "$_id",
lng: {$first: "$myCoordinates"},
lat: {$last: "$myCoordinates"}
}},
// then group as normal for the averaging
{$group: {
_id: 0,
lngAvg: {$avg: "$lng"},
latAvg: {$avg: "$lat"}
}}
]);