我有以下document
,我想在其上创建2dsphere index
,但coordinates field
必须是integer BSON type
才能执行此操作。但是,来自data type
的{{1}}以client
作为坐标。
所以我想在插入MongoDb之前将其更改为整数,以便我可以在之后创建索引。 我怎么能这样做?
string
答案 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)
})
}