mongo如何去除重复数据呢?这个问题很难吗?
发布于 10 年前 作者 heixiaoshan 9508 次浏览 最后一次编辑是 8 年前

如题mongodb如何删除重复数据? {unique : true, dropDups : true} 建立索引去重复值!!好像行不通啊。有重复值直接报错。我擦 又或者是我用错了? 仔细想了想,妹的,场景不付。 业务场景是需要批量插入数据。 1.用的是foreach,如果插入一条,去数据库查询一条,效率会很慢。 2.而且还有一个问题是,查到有相同的数据后,该用什么方法去跳过这一条,继续执行下一条呢? 所以我想采用先批量插入数据后,再对mongo数据库进去去重。 但是在网上搜了一大圈没有发现mongo有针对去重这一块的方法。郁闷了。 而且使用索引去重,又面临第2点! 大神们有什么方法可以做到呢?请指导指导!

4 回复

如果重复项目,index以外的内容全一样,那就直接建index unique:1,drop duplicate:1,建好了就是没有重复的了,good luck~

但是新增的数据也可能会有重复的出现

  1. 如果已经有了的话,设置index为unique能去除;
  2. 更新的时候update加选项upsert : 1;作用是update的时候不存在的话创建,存在的话更新在存在的项目上;

如果是save方法呢?

回到顶部