mongoexport转换数值

时间:2018-04-20 07:08:14

标签: mongodb mongodb-query mongoexport

我正在尝试从集合中导出电话号码。以下是示例文档

{ "_id" : ObjectId("5ad5cf864717256ff02b4923"),"userName":"9619324746", "firstName" : "D H", "contactPhone" : 9619324746}

我使用的导出命令位于

之下
mongoexport --db dbname --collection accounts --type=json --out accounts.json --fields contactPhone,userName

JSON的内容如下所示

{"_id":{"$oid":"5ad5cf864717256ff02b4923"},"userName":"9619324746","contactPhone":9.619324746e+09}

有人可以帮助我获取未转换的contactPhone值吗?谢谢。

-Srini

1 个答案:

答案 0 :(得分:0)

如果mongoexport将123导出为123.0,那么123在文档中是Double类型。您应该尝试将值插入为32位或64位整数

db.collection.insert({
    "tweetId" : NumberLong(1234567)
})

mongoexport 使用严格模式JSON表示导出JSON,它将一些类型信息插入到JSON中,因此MongoDB JSON解析器(如mongoimport)可以重现正确的BSON数据类型导出的JSON仍然符合JSON标准

{ "tweetId" : { "$numberLong" : "1234567" } }

要保留所有类型信息,请改用mongodump / mongorestore。要将所有字段值导出为字符串,您需要编写自己的脚本,并使用驱动程序获取每个文档并对所有值进行字符串化。