如何从MongoDB和node.js中的latlong数组计算公里?

时间:2019-07-17 11:24:41

标签: javascript node.js mongodb mongoose mongoose-schema

Driver_Location_Logs.js

import mongoose from 'mongoose';
const Driver_Location_Logs = mongoose.Schema({
    DriverID: { type: String, default: "" },
    Latitude: { type: Number, default: 0 },
    Longitude: { type: Number, default: 0 },
    Point: { type: [Number], index: '2d' },
    Status: { type: Boolean, default: true },
    created_at: { type: Date, default: null },
    updated_at: { type: Date, default: null }
}, { collection: "Driver_Location_Logs" });
Driver_Location_Logs.index({ Point: '2dsphere' });
export default mongoose.model('Driver_Location_Logs', Driver_Location_Logs);

我在驱动程序应用程序的后勤应用程序中使用网络套接字。

每15秒latlong将在后端更新一次。

在一天结束时使用cron作业,我需要使用node.js,MongoDB,mongoose和上述Google距离矩阵凭证来计算上述模型架构中一天的总驾驶员公里数道路距离。

什么是我的查询的最佳和可行的解决方案?

我知道一种通过计算从一个点到另一点的距离之和来计算一天总公里数的一种解决方案。

1 个答案:

答案 0 :(得分:-1)

请检查此代码,它非常有用且准确: Get the distance between two (world) coordinates - a nodejs module