当前位置: 首页 > 知识库问答 >
问题:

Mongorestore通过标准输入输出单个集合

壤驷德寿
2023-03-14

我想使用标准输出在单个命令行中将MongoDB集合复制到另一个数据库<我不想转储整个数据库
目标集合的名称将与副本的名称不同。

这是我的命令:

> mongodump -h=HOST -d=db1 -c=from_coll --archive --gzip | mongorestore -h=HOST --nsInclude=db2.target_coll --archive --gzip

  writing db1.from_coll to an archive on stdout
  preparing collections to restore from
  done dumping db1.from_coll (100000 documents)
  0 document(s) restored successfully. 0 document(s) failed to restore.

mongoump部分似乎运行良好。
但是我们已经(0个文档恢复成功)
为什么mongo恢复没有按预期复制目标集合中的数据

共有2个答案

贺功
2023-03-14

我试着用mongodump备份一个集合,但没有成功,我不知道为什么,然后我改变并像这样使用mongoexport和mongoimport,效果很好。

mongoexport--uri=”mongodb://host:port/fooDatabase“--collection=fooCollection--out=fooCollection.json

mongoimport--uri=”mongodb://host:port/fooDatabase“--collection=newFooCollection--file=fooCollection.json--mode=upsert

邓欣可
2023-03-14

选项过滤输入数据。因为从mongodump传递的bson数据不包括来自db2的任何文档。target\u coll,未还原任何内容。

使用“nsFrom”和“nsTo”重命名mongorestore集合。

 类似资料:
  • 回顾一下我们写的第一个 Rust 程序就是带副作用的,其副作用就是向标准输出(stdout),通常是终端或屏幕,输出了 Hello, World! 让屏幕上这几个字符的地方点亮起来。println! 宏是最常见的输出,用宏来做输出的还有 print!,两者都是向标准输出(stdout)输出,两者的区别也一眼就能看出。至于格式化输出,基础运算符和字符串格式化小节有详细说明,这里就不再啰嗦了。 更通用

  • 我最近想出了如何在汇编中写入 stdout,但现在无法从 stdin 中读取,并将我读取的内容输出回 stdout。这是我到目前为止的代码: 我很确定我看错了。我很确定和的行为没有达到预期(如果我将 替换为 次),这是导致我的问题的原因(当我输入输入并点击return时,它什么也不显示)。 我已经摸索了一段时间了,希望能得到任何帮助。(我这么做只是为了了解这不是家庭作业)。 我的问题本质上是我做错

  • 我是Java的初学者。学习罗伯特·塞奇威克的《Java导论》 我尝试在Netbeans中编译以下代码。 } 我收到了这个错误。我已将文件放置在标准位置。java 线程“main”java.lang.RuntimeException中的异常:无法编译的源代码-错误的sym类型:示例。StdIn.is在示例中为空。verage.main(verage.java:16)Java结果:1 BUILD SU

  • 10.2. 标准输入、输出和错误 UNIX 用户已经对标准输入,标准输出和标准错误的概念非常熟悉了。这一节是为其他不熟悉的人准备的。 标准输入和标准错误(通常缩写为 stdout 和 stderr)是內建在每一个 UNIX 系统中的管道。当你 print 某些东西时,结果前往 stdout 管道;当你的程序崩溃并打印出调试信息(类似于 Python 中的错误跟踪)的时候,信息前往 stderr 管

  • FAQs in section [15]: [15.1] 为什么应该用 <iostream> 而不是传统的 <cstdio>? [15.2] 当键入非法字符时,为何我的程序进入死循环? [15.3] 那个古怪的while (std::cin >> foo)语法如何工作? [15.4] 为什么我的输入处理会超过文件末尾? [15.5] 为什么我的程序在第一个循环后,会忽略输入请求呢? [15.6]

  • 我正在学习Sedgwick(普林斯顿大学)的算法1课程,试图从标准输入中读取一个整数,它表示将要输入的整数对的数量,然后从标准输入中读取一个整数对的列表。 例如: 视频中给出的代码是这样的: 问题: > 中的代码是stdin.readint()实际的java还是伪代码?