我是MongoDB的初学者。
我正在开发Intellijidea IDE来开发JAVA程序,旨在基于Twitter4j和Facebook4j在Twitter和Facebook等社交媒体上执行数据挖掘过程。
我使用MongoDB存储数据库集合以进行测试和评估。我已将几个MongoDB数据库保存到E:/ data / db文件夹中,这些数据库几天都可以访问。因此,我以前的所有数据库都可以在E:/ data / db中访问,我可以通过windows shell中的终端命令轻松控制数据库集合的结构(show dbs(),show collections(),db stats())。
上周,我发布了一个新的数据挖掘数据库集合,其中包含多个集合,并且可能在我的计算机上本地化数据库时出错,我将新数据库放在E:/ data / db / newdatabase中。
问题是我需要运行数据挖掘过程,而我想通过R软件分析旧的数据库集合。
现在,我无法访问Windows终端命令上的旧MongoDB数据库,因为我只能看到有一些字节,但没有结构化集合等...当我试图调用集合时来自R的数据库与rmongodb包,我无法看到以前的集合。
我是否可以使用Mongo恢复或类似的东西恢复旧的数据库集合?在几天前,我可以做些什么来保持这些旧的数据库集合无法访问?
答案 0 :(得分:1)
MongoDB不打算在文件系统级别进行操作。
相反,您应该使用mongoexport和mongoimport来传输单个数据库。
答案 1 :(得分:0)
检查您的收藏品数据是否仍在E:\ data \ db目录中,并以您的收藏品名称命名
yourCollection.0
yourCollection.1
yourCollection.ns
尝试将新数据库和db文件夹复制到新文件夹(如E:\ backup),然后尝试启动两个mongo实例:
mongod --dbpath=E:\backup\db --port 27001
mongod --dbpath=E:\backup\newdatabase --port 27002
尝试连接到每个数据库并检查eveything是否正常(没有数据损坏,......)
mongo --port 27001
mongo --port 27002
如果没关系,那么,正如jmkgreen解释的那样,导出你的数据库,然后将它导入你以前的数据库。