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

标签 mongodb meteor

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

最佳答案

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

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

不管怎样,结果都不是你想要的。

同一数据库中不能有 2 个同名的集合。

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

否则您将不得不更新 mongodb 中的文档(使用 mongo 控制台或编写脚本)

关于mongodb - 用 Meteor 中的新 mongo 集合替换现有 mongo 集合的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34558967/

相关文章:

java - 一组中的两个总计

Python-夏娃 : query to ip address saved like string

mongodb - 具有包含值的默认数组的 Mongoose 数组字段

javascript - 使用 bcrypt 的纯 JavaScript 实现

meteor 包失败,因为缺少 Fiber.node

javascript - 全局助手正在覆盖 meteor handlebars 模板中的本地上下文

mongodb - MongoDB中字符串类型的大小

mongodb - 为什么名称以下划线开头的集合会受到不同对待?

javascript - 调用结果下发异常 'login' : ReferenceError: err is not defined

javascript - 上下文更改事件不起作用 Meteor