【问题标题】:copy / restore - mongo db复制/恢复 - mongodb
【发布时间】:2017-07-08 15:24:58
【问题描述】:

我是 mongo db 的新手。我从我的客户那里得到了一个 Web 应用程序和“数据”文件夹。在数据文件夹中,有很多文件夹。我安装了 mongo db 并创建了一个测试数据库。如果我想使用从客户那里获得的数据,我是否必须复制和粘贴这些文件,或者我必须创建这些数据库并使用导入选项。请帮我。

【问题讨论】:

  • 您从客户端获得的数据是什么格式的 - 是 MongoDB 转储,还是一些文本、XML 或电子表格?它有什么结构吗?将它导入 Mongo 后,你想用它做什么?
  • 我尝试了复制和粘贴选项。并尝试在 mongo 窗口中显示 dbs 命令。
  • 文件类型 NS 文件,0 文件,1 文件
  • 对,所以它是一个分离的 MongoDB,你想挂载到你的 Mongo 实例中来查询它吗?
  • 是的,你能告诉我挂载到我的 Mongo 实例的命令吗

标签: c# mongodb nosql


【解决方案1】:

听起来您从客户端获得的文件是 mongodb 数据文件。如果是这种情况,您应该能够按原样使用这些数据文件启动 mongod。为此,首先您应该关闭正在运行的 mongod 并删除其现有的数据文件(默认位于 /data/db)。然后你可以把你从客户端得到的数据文件复制到mongod正在使用的数据目录中,然后重新启动。

此外,您可能需要也可能不需要包含 --directoryperdb 标志,具体取决于您收到的数据文件的结构。你说在你得到的数据文件夹中有几个子文件夹。每个子文件夹是否仅包含与文件夹同名的文件,后跟 .或.ns?如果是这样,那么每个数据库的数据文件都有一个文件夹,并且应该以 --directoryperdb 标志开头。如果没有,您将拥有一个文件夹,其中包含 .ns 和 .多个 dbname 的文件,则不应使用 --directoryperdb 标志。

【讨论】:

  • 您好,感谢您的回复。是的,子文件夹有数据库文件。我正在尝试使用 --directoryperdb 命令,但由于原因无法识别。我试过这样: mongod --directoryperdb "c:\data" 但它没有用
  • 你需要使用 --dbpath 来指定数据文件的路径, --directoryperdb 不带任何参数,它只是告诉 mongod 期望数据文件在某个布局。
猜你喜欢
  • 1970-01-01
  • 2015-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2014-08-10
  • 1970-01-01
  • 2012-08-23
相关资源
最近更新 更多