哪个是我在mongodb中的数据库?

哪个是我在mongodb中的数据库?,mongodb,dump,mongodump,Mongodb,Dump,Mongodump,与上一个问题相关的下一个问题 在这里,我可以看到ihtx.0 ihtx.1 ihtx.ns三个同名文件。这里哪一个是我在mongo shell中经常看到的mydatabase? 我应该扔掉哪一个 已尝试每种方法,但出现以下错误: $ mongodump --dbpath /var/lib/mongodb/ihtx.XX --out /home/user/Desktop/ If you are running a mongod on the same path you should connec

与上一个问题相关的下一个问题

在这里,我可以看到ihtx.0 ihtx.1 ihtx.ns三个同名文件。这里哪一个是我在mongo shell中经常看到的mydatabase? 我应该扔掉哪一个

已尝试每种方法,但出现以下错误:

$ mongodump --dbpath /var/lib/mongodb/ihtx.XX --out /home/user/Desktop/

If you are running a mongod on the same path you should connect to that instead of direct data file access

Thu Mar 13 11:17:21.123 dbexit: 
Thu Mar 13 11:17:21.123 [tools] shutdown: going to close listening sockets...
Thu Mar 13 11:17:21.123 [tools] shutdown: going to flush diaglog...
Thu Mar 13 11:17:21.123 [tools] shutdown: going to close sockets...
Thu Mar 13 11:17:21.123 [tools] shutdown: waiting for fs preallocator...
Thu Mar 13 11:17:21.123 [tools] shutdown: closing all files...
Thu Mar 13 11:17:21.123 [tools] closeAllFiles() finished
Thu Mar 13 11:17:21.123 [tools] shutdown: removing fs lock...
Thu Mar 13 11:17:21.123 [tools] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 13 11:17:21.123 dbexit: really exiting now

这个命令对你有用 如果设置了dbpath或mongoDB服务正在运行 这里ihtx表示您的数据库名

$ mongodump -d ihtx --out /home/user/Desktop/intxDB

关于您的第一个问题“哪个是我的数据库文件?”,请参考链接

它明确提到,, MongoDB将数据文件预先分配到特定大小,部分是为了防止文件系统碎片。MongoDB将第一个数据文件命名为.0,下一个命名为.1,以此类推

对于你在倒垃圾时所犯的错误, 请删除-dbpath选项,然后重试

您可以从正在运行的服务器导出,也可以从文件导出(如果
服务器未运行或已锁定,但不是同时运行。

ihtx.0、ihtx.1、ihtx、ns表示数据库ihtx

.0.1等文件本身就是数据文件。 MongoDB将第一个数据文件命名为.0、下一个.1等。mongod分配的第一个文件是64兆字节,下一个128兆字节,依此类推,最多2千兆字节,此时所有后续文件都是2千兆字节

.ns文件是命名空间文件。每个集合和索引都将计为一个命名空间。每个名称空间为628字节,默认情况下.ns文件为16MB

现在在您的问题中,mongod实例无法删除fs锁,正如您在错误中看到的那样

Thu Mar 13 11:17:21.123 [tools] closeAllFiles() finished
Thu Mar 13 11:17:21.123 [tools] shutdown: removing fs lock...
Thu Mar 13 11:17:21.123 [tools] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 13 11:17:21.123 dbexit: really exiting now 
正如在代码中一样,dbpath是/var/lib/mongodb,因此在启动mongo实例时,请使用-dbpath参数,如下所示:

mongod --dbpath=/var/lib/mongodb
因此,首先运行以下命令:

mongod --dbpath=/var/lib/mongodb --repair
之后,运行以下程序:

mongodump --dbpath /var/lib/mongodb -d ihtx --out /home/user/Desktop/intxDB

这是一个全新的安装。除了供内部使用的本地数据库外,没有其他数据库。你好像在学习。您的问题更适合这里:是否设置了db路径??你安装了MongoDB服务吗?@Hardik:我不知道如何设置db路径。我不会直接对mongod做任何事。连我都不需要。这次我只需要转储我的数据库。我使用erlang和chicagoboss。它会自动执行所有数据库事务,如创建数据库、添加集合、插入、更新、删除数据等。您在开始时就被告知。你的问题与本论坛无关。这个论坛是关于编程问题的。你还被告知没有数据库。而且您显然没有插入任何数据。向你提问。更妙的是,请阅读手册:@NeilLunn:我从来没有说过我的数据库是空的。我有很多数据,所以我想在截断之前转储。我会在superuser.com上问我的问题。Thanks@LaxmikantGurnalkar从第一条评论开始。这里没有数据库。都是空的。@NeilLunn:我可以看到文件名ihtx,这是我的数据库名。我可以在mongo shell db中查看我的数据。我可以在mongo下看到三个集合:>显示集合;祖先遗产税形成遗产_tax@LaxmikantGurnalkar如何使用MongoDB服务?您是否设置了环境变量??您是否正在运行MongoDB服务??你们可以在你们的Mongoshell中访问你们的mongoDB???@Hardik:Nope,我在终端上运行上面的命令。不是来自mongo shell。我应该这样做吗?不,我想知道你可以连接到你的MongoDB吗?谢谢你的MongoDB名称摘要。但即使删除-dbpath也不起作用。我在本地计算机上而不是服务器上执行此操作。甚至我也尝试过:$sudo service mongodb stop$mongodump-dbpath/var/lib/mongodb-d ihtx-out,但出现了相同的错误:谢谢,我在-repair上遇到了错误,3月13日星期四12:29:32.759[initandlisten]initAndListen中出现异常:10296***************************************************************************************************错误:dbpath/data/db/不存在。创建此目录或在-dbpath中指定现有目录。看见http://dochub.mongodb.org/core/startingandstoppingmongo *********************************************************************,更新了答案。因为您使用/var/lib/mongodb作为dbpath,所以sp将该值放入您的命令中。请检查更新的答案
mongodump --dbpath /var/lib/mongodb -d ihtx --out /home/user/Desktop/intxDB