2016-01-12 52 views
1

我已经从本地数据库导出mongoDB,它的格式如下,并保存为CSV文件。将mongodb数据库导入到mongolab

_id,accomodation,state,user 
ObjectId(565dae266dbda6964f061d99),No,California,ObjectId(5651fb48b0dfa73c134df161) 

然后我尝试,我看了那么它们存储

ObjectId(565dae266dbda6964f061d99) in this format 
"_id": { 
     "$oid": "565dae266dbda6964f061d99" 
    } 

在严格模式下面的命令

mongoimport -h hostname -d dbname -c collectionname -u username 
-p password --file filename.csv --type csv --headerline 

导入成功,但Mongolab店DB运行mongoimport但数据我进口它只是存储为ObjectId(565dae266dbda6964f061d99)...我想知道如何导入保存在安全模式下它我的所有ObjectID数据存储在“$ oid”:“565dae266dbda6964f061d99”格式在我的mongolabD湾

让我知道你是否有任何问题..

谢谢。

+0

快速说明:MongoLab不以严格的JSON格式存储数据,所有的MongoDB数据仍保存为BSON。但是,Web UI中的文档编辑器是JSON编辑器,因此必须使用严格的MongoDB扩展JSON以JSON格式查看和编辑ObjectId。您会注意到,如果您通过mongo管理shell连接到MongoLab数据库并查询数据,则这些_id值将显示为ObjectId's(因为shell是JavaScript解释器并且不会执行严格的JSON)。 – pneumee

回答

1

正如你在你的问题正确地指出,MongoLab使用Strict MongoDB Extended JSON所以对象ID表示这样的:

{ "$oid": "<id>" } 

有没有改变这个对托管服务的方式。

+0

我不知道,但这个数据{ “_id”: “的ObjectId(565dae266dbda6964f061d9a)”, “便利”: “否”, “用户”: “的ObjectId(5651fb48b0dfa73c134df161)” }本地查询工作,但一旦我们把相同的mongolab查询不起作用一旦我改变ObjectId与$ oid然后它开始工作... –

+0

你使用控制台或ORM? – Alex

+0

我正在使用控制台.... –