查询mongodb以搜索集合中lats和lngs的计数出现次数

查询mongodb以搜索集合中lats和lngs的计数出现次数,mongodb,Mongodb,我有以下详细资料的文件 { "_id" : ObjectId("58fa2847a105621bf28c7436"), "srcLoc" : [ 29.03596937656403, 41.08048413380768 ], "destLoc" : [ 29.3168603, 40.905371 ], "wayPoints" : [ { "_id" : ObjectId("58fa2961de501

我有以下详细资料的文件

{ 
        "_id" : ObjectId("58fa2847a105621bf28c7436"), 
        "srcLoc" : [ 29.03596937656403, 41.08048413380768 ], 
        "destLoc" : [ 29.3168603, 40.905371 ], 
        "wayPoints" : [ 
            { "_id" : ObjectId("58fa2961de50171c2e89e4e2"),
             "lng" : 29.035865853970662,
              "lat" : 41.08010057266194 
            },
            { "_id" : ObjectId("58fa2961de50171c2e89e4e1"), 
             "lng" : 29.053879848358697, 
             "lat" : 41.082083123947546 
            },
            { "_id" : ObjectId("58fa2961de50171c2e89e4e0"), 
             "lng" : 29.0638848389565, 
             "lat" : 41.0857235683904 
            },
            { "_id" : ObjectId("58fa2961de50171c2e89e4df"), 
             "lng" : 29.03194416492813, 
             "lat" : 41.0566495985393 
            } 
        ],
        "totalDistance" : 0.004627394567308733,
        "driverId" : ObjectId("58ecd6a563b5128b2b5e298b"),
        "riderId" : ObjectId("58ececcbb5e88b94e59e0cd1"),
        "__v" : 0 
        }
此处字段“航路点”具有lats lngs对的中间点。我必须找出哪对lat lng对在整个收集过程中在航路点字段中出现的次数最多。。。例如,我假设航点场有一对lat lng [“液化天然气”:29.035865853970662, “lat”:41.08010057266194]
我需要计算属于集合的所有航路点字段中该lat lng对的出现次数

尝试此聚合框架查询:

db.stackoverflow.aggregate(
[
    {$unwind: "$wayPoints"},
    {$group: 
        {
        _id: {lng:"$wayPoints.lng", lat:"$wayPoints.lat"},
        count: {$sum:1}
        }
    },
    {$sort: {count:-1}}
]
)
我创建了一些文档,如您提供的文档,然后对集合运行了此查询,结果如下。您可以看到,对于每个lat lng对,都有一个其出现次数的计数器,它们从最常用的对(3次出现)开始排序


尝试此聚合框架查询:

db.stackoverflow.aggregate(
[
    {$unwind: "$wayPoints"},
    {$group: 
        {
        _id: {lng:"$wayPoints.lng", lat:"$wayPoints.lat"},
        count: {$sum:1}
        }
    },
    {$sort: {count:-1}}
]
)
我创建了一些文档,如您提供的文档,然后对集合运行了此查询,结果如下。您可以看到,对于每个lat lng对,都有一个其出现次数的计数器,它们从最常用的对(3次出现)开始排序


请举例说明你收集的文件是什么样的,以及你的输入数据和预期结果是什么?我有以下详细的文件。请举例说明你收集的文件是什么样的,以及你的输入是什么样的数据和预期结果是?我有以下详细信息的文件。。