在MongoDb中插入时,如何为坐标指定BSON类型?

时间:2017-11-25 14:32:25

标签: mongodb bson

我有以下document,我想在其上创建2dsphere index,但coordinates field必须是integer BSON type才能执行此操作。但是,来自data type的{​​{1}}以client作为坐标。

所以我想在插入MongoDb之前将其更改为整数,以便我可以在之后创建索引。 我怎么能这样做?

string

1 个答案:

答案 0 :(得分:1)

在使用parseFloat()

存储之前,只需将字符串解析为浮点数
user.saveSubscriber = (jSubscriberData, fCallback) => {
var jSubscriber = {
    email: jSubscriberData.txtEmail,
    firstName: jSubscriberData.txtName,
    lastName: jSubscriberData.txtLastName,
    address: {
        type: "Point",
        coordinates: [parseFloat(jSubscriberData.lng), parseFloat (jSubscriberData.lat)]
    }
}
global.db.collection('subscribers').insertOne(jSubscriber, (err, jResult) => {

    if (err) {
        var jError = { "status": "error", "message": "ERROR -> saveSubscriber -> user.js -> 001" }
        return fCallback(false, jError)
    }
    var jOk = { "status": "ok", "message": "user.js ->  subscriber saved -> 000" }
    return fCallback(false, jOk)
})

}