我是mongodb的新手。我需要计算到上一个地址到同一位置的下一个地址之间的距离并添加结果,但是由于previous-address
和next-address
不是,因此我需要在计算距离之前过滤文档实际上是文档的一部分,我需要根据某些条件动态添加它们。
我有看起来像这样的文件:
{
"user_id" : 2274,
"preparation_time" : 86400000,
"prev_booking" : null,
"next_booking" : {
"id" : 1310905,
"location" : {
"type" : "Point",
"coordinates" : [
55.2353495,
25.1627054
]
}
}
因此,我需要添加上一个地址和下一个地址,并且值将取决于其他条件下的prev-booking
和next-booking
,然后将使用这些值来计算距离。但是问题是$geoNear
必须处于管道的第一阶段,但就我而言,这是不可能的,这里有什么建议吗?
答案 0 :(得分:0)
MongoDB支持2d索引和地理空间查询。请先检查2d Indexes,以了解如何正确构造索引。
之后,您可以通过查询在二维平面上计算Euclidian distance。
在未来的发展中致以诚挚的问候和良好的祝愿