【发布时间】:2016-03-26 06:52:44
【问题描述】:
我有一个包含以下字段的集合:
name
type
color
我还有一个唯一索引name_1_type_1。
假设一个数据集:
[{
name: "name1",
type: "type1",
color: "blue"
}, {
name: "name2",
type: "type1",
color: "green"
}]
使用mongoimport 创建初始数据集。
现在,我需要更新集合以实现以下 3 个目标:
- 插入新文档(例如,
name1-type2在下面的 sn-p 中) - 在现有文档中更新
color(例如blue->red在下面的name1) -
在一些文档中添加一个新的可选字段
shape[ { name: "name1", type: "type1", color: "red", shape: "circle" }, { name: "name1", type: "type2", color: "green", shape: "rectangle" } ]
但是,在上述 json 文件上执行 mongoimport --upsert 时,我得到:
插入文档时出错:E11000 重复键错误收集: test.col1 索引:name_1_type_1 复制键
也许我以错误的方式使用mongoimport。
如何使用 mongoimport 实现上述 3 个 upsert 目标?
【问题讨论】:
标签: mongodb mongoimport