【发布时间】:2016-04-16 20:06:39
【问题描述】:
我已从本地数据库导出 mongoDB,它采用以下格式并保存为 CSV 文件。
_id,accomodation,state,user
ObjectId(565dae266dbda6964f061d99),No,California,ObjectId(5651fb48b0dfa73c134df161)
然后我尝试使用以下命令运行 mongoimport
mongoimport -h hostname -d dbname -c collectionname -u username
-p password --file filename.csv --type csv --headerline
导入成功,但 Mongolab 在我阅读时以严格模式存储 DB,因此它们存储
ObjectId(565dae266dbda6964f061d99) in this format
"_id": {
"$oid": "565dae266dbda6964f061d99"
}
但我导入的数据只是存储为 ObjectId(565dae266dbda6964f061d99)...我想知道如何导入以安全模式保存的所有 ObjectID 数据存储在“$oid”中:“565dae266dbda6964f061d99”格式我的 mongolabDb。
如果您有任何问题,请告诉我..
谢谢。
【问题讨论】:
-
快速澄清:MongoLab 不以严格的 JSON 格式存储数据,所有 MongoDB 数据仍以 BSON 格式存储。然而,Web UI 中的文档编辑器是 JSON 编辑器,因此必须使用严格的 MongoDB 扩展 JSON 以 JSON 格式查看和编辑 ObjectId。您会注意到,如果您通过 mongo 管理 shell 连接到 MongoLab 数据库并查询数据,这些 _id 值将显示为 ObjectId(因为 shell 是 JavaScript 解释器并且不强制执行严格的 JSON)。