我正在学习MongoDB。有没有简单的方法从MongoDB导出/导入数据?
目前的任务很简单:使用 MongoDB Cloud,从一个集合中复制一个文档(使用位于 Atlas〉Collection 部分的 Copy Document 按钮),并能够将其导入到我的本地MongoDB数据库中。
{
"_id": {"$oid":"5e666e346e781e0b34864de4"},
"created_at":{"$date":{"$numberLong":"1583771188026"}}
}
尝试使用db.my_collection.insert()
将其导入到本地MongoDB中会导致以下错误:
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 52,
"errmsg" : "$oid is not valid for storage."
}
})
所以我已经做了我的研究,我已经发现了MongoDB creates output data in Extended JSON v2.0 (Relaxed mode) by default或在 * 规范模式 *。
所以文档确实告诉我MongoDB中用于导出的格式本身不支持直接导入?我错了什么?
如何直接导入正在导出的内容?
3条答案
按热度按时间y1aodyip1#
mongoDB使用Bson格式来存储它的数据,您需要将Json转换为Bson然后导入它。或者您可以使用mongoDBcompass并导入您的Json文件,mongoDBcompass将为您完成这项工作!
tuwxkamq2#
我找到了另一个解决这个问题的方法,你可以把这个json文件放在你的服务器上,然后用mongodb命令把这个json文件加载到某个集合中,下面是一个例子:
mongoimport --host localhost --port 27017 --username ezsonaruser --password 123456 --db ezsonar_25 --collection host_locations_test --file /root/shaql/host_locations.json
sxpgvts33#
所以 ... MongoDB 不 支持 它 自己 的 导出 格式 来 将 数据 导入 到 集合 中 。
中 的 每 一 个
用于 :
格式
这样 您 就 可以 导入 数据 而 不会 出现 任何 问题 。