我想通过命令导出MongoDB中的所有集合:

mongoexport -d dbname -o Mongo.json

结果是: 没有指定集合!

手册说,如果你不指定一个集合,所有的集合都将被导出。 然而,为什么这行不通呢?

http://docs.mongodb.org/manual/reference/mongoexport/#cmdoption-mongoexport--collection

我的MongoDB版本是2.0.6。


当前回答

可以使用mongodb命令进行修改

步骤1:打开命令提示符 第二步:打开mongoDB安装的bin文件夹(C:\Program Files\ mongoDB \Server\4.0\bin) 步骤3:然后执行以下命令 mongodb -d your_db_name -o destination_path Your_db_name = test destination_path = C:\Users\HP\Desktop

导出的文件将创建在destination_path\your_db_name文件夹中(在本例中是C:\Users\HP\Desktop\test)

参考资料:o7planning

其他回答

请让我们知道您在哪里安装了Mongo DB?(Ubuntu或Windows)

Windows:

在导出之前,您必须在cmd提示符中连接到您的Mongo DB,并确保您能够连接到您的本地主机。 现在打开一个新的cmd提示符并执行以下命令, mongodb——db数据库名——out保存路径 例如:mongodb——db mydb——out c:\TEMP\op.json 详情请访问https://www.youtube.com/watch?v=hOCp3Jv6yKo。

Ubuntu的:

登录到安装Mongo DB的终端,确保能够连接到Mongo DB。 现在打开一个新终端,执行下面的命令, mongodb -d数据库名称-o要保存的文件名 例如:mongodb -d mydb -o output.json 详情请访问https://www.youtube.com/watch?v=5Fwd2ZB86gg。

如果你想备份服务器上的所有dbs,而不用担心调用dbs,使用下面的shell脚本:

#!/bin/sh

md=`which mongodump`
pidof=`which pidof`
mdi=`$pidof mongod`
dir='/var/backup/mongo'

if [ ! -z "$mdi" ]
   then
        if [ ! -d "$dir" ]
           then
               mkdir -p $dir
           fi
        $md --out $dir >/dev/null 2>&1
   fi

这将使用mongodb实用程序,如果没有指定,该实用程序将备份所有db。

你可以把它放在你的cronjob中,它只会在mongod进程正在运行时运行。如果不存在备份目录,它还将创建备份目录。

每个DB备份都被写入一个单独的目录,因此您可以从全局转储恢复各个DB。

这是实现目标最简单的方法。

mongodb -d db_name -o path/filename.json

可以使用mongodb命令进行修改

步骤1:打开命令提示符 第二步:打开mongoDB安装的bin文件夹(C:\Program Files\ mongoDB \Server\4.0\bin) 步骤3:然后执行以下命令 mongodb -d your_db_name -o destination_path Your_db_name = test destination_path = C:\Users\HP\Desktop

导出的文件将创建在destination_path\your_db_name文件夹中(在本例中是C:\Users\HP\Desktop\test)

参考资料:o7planning

以下是恢复导出数据库时对我有效的方法:

Mongorestore -d 0 ./0——drop

其中。/包含导出的bson文件。注意——drop将覆盖现有数据。