我是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-Address和Next-Address,并且该值将取决于prev-booking
和next-booking
的其他条件,然后我将使用这些来计算距离。但是问题是$geoNear
需要处于管道的第一阶段,但在我的情况下,这是不可能的,这里有任何建议吗?
mongoDB支持2D索引和地理空间查询。请首先检查2D索引以了解如何正确构建索引。
之后,您可以在带有查询的2D平面上计算欧几里得距离。
在您未来的发展中最好的问候和最良好的祝愿