Mongoimport json文件更新或覆盖..?

Mer*_*cer 12 json mongodb mongoimport

我有DB的名称是"Project"和集合名称是"sample"然后我使用mongoimport命令插入一个JSON文件.

现在我编辑了相同的JSON文件.因此,如果要将相同的JSON文件导入到Collection,那么我就会遇到问题,例如创建了多个实例并且没有进行更新.

有没有办法更新或覆盖mongodb使用mongoimport命令中已存在的数据?

请注意,我也尝试过使用--mode=upsertflag:

./mongoimport --db Project --collection sample --mode=upsert --file   /home/rule.json
Run Code Online (Sandbox Code Playgroud)

lan*_*nok 18

对于MongoDB v3.x,

--mode=upsert
Run Code Online (Sandbox Code Playgroud)


Abd*_*f K 7

--drop 标志还可与mongoimport命令一起使用以覆盖/更新现有数据。

--drop


./mongoimport --db Project --collection sample --drop --file   /home/UCSC_rule.json
Run Code Online (Sandbox Code Playgroud)

我提供此解决方案是因为我尝试使用--upsert标志,但是在现有数据中看不到任何更改,而是创建了新实例。

  • 请注意,`--drop` 在从 json 文件导入数据之前删除整个集合,而 `--mode=upsert` 插入新键并更新现有键。 (2认同)

Nac*_*ate 5

默认行为表示如果已存在,则跳过,因此默认情况下不会覆盖现有数据。

但是您可以使用--upsertflag 更新它。