在Meteor中使用新的mongo集合替换现有mongo集合的最简单方法

时间:2016-01-01 18:48:31

标签: mongodb meteor

我有一个csv文件,我已导入Meteor项目,我已经更新了csv文件(添加了几个数据列),我想重新导入csv文件。如果我再次导入它,它会覆盖第一个吗?或者我会有两个同名的集合?最好的方法是什么?

1 个答案:

答案 0 :(得分:5)

如果再次重新导入文件,它将插入不更新到集合 因此,如果您的集合在字段上具有唯一键索引(例如_id,因为默认情况下_id已编入索引且唯一),并且该字段是csv文件中的列。再次导入时,mongodb会抛出一条错误消息,说明您违反了唯一的唯一约束并停止,您的旧数据不会受到影响。

如果没有,您的集合没有任何其他唯一键索引,而_id不是csv文件中的列。然后,如果您重新导入,您的集合将包含旧数据和刚导入的新数据的重复记录。

无论哪种方式,结果都不是你想要的。

您不能在同一个数据库中拥有2个具有相同名称的集合。

最简单的方法:如果您的数据不重要,您可以删除该集合并重新导入

否则你必须在mongodb中更新文档(使用mongo控制台或编写脚本)