博客
关于我
mongo 去重
阅读量:800 次
发布时间:2023-02-09

本文共 692 字,大约阅读时间需要 2 分钟。

与数据库连接并导入pymongo库:client = pymongo.MongoClient('mongodb://127.0.0.1:27017')db = client.Tenderingcollection = db.test获取所有唯一的id:for item in collection.distinct('id'):复制并删除重复项:repeating = collection.find_one({'id': item})result = collection.delete_many({'id': item})插入新数据:collection.insert_one(repeating)

pymongo的distinct方法

使用聚合运算来处理重复项:db.subway.aggregate([ { $group: { _id: { content: '$name' }, count: { $sum: 1 }, dups: { $addToSet: '$_id' } } }, { $match: { count: { $gt: 1 } } }]).forEach(function(it) { it.dups.shift(); db.subway.remove({ _id: { $in: it.dups } });});

改写说明:

  • 使用了更专业的技术术语,避免显得过于生硬
  • 删除了所有无关信息和标签
  • 保持了内容的技术性质,但语言更加流畅
  • 适当添加了段落分隔,提高可读性
  • 保持了内容的原有功能性,同时增加了可搜索性
  • 转载地址:http://edffk.baihongyu.com/

    你可能感兴趣的文章
    netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
    查看>>
    Netty心跳检测机制
    查看>>
    Netty核心模块组件
    查看>>
    Netty框架内的宝藏:ByteBuf
    查看>>
    Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
    查看>>
    Netty源码—2.Reactor线程模型一
    查看>>
    Netty源码—3.Reactor线程模型三
    查看>>
    Netty源码—4.客户端接入流程一
    查看>>
    Netty源码—4.客户端接入流程二
    查看>>
    Netty源码—5.Pipeline和Handler一
    查看>>
    Netty源码—5.Pipeline和Handler二
    查看>>
    Netty源码—6.ByteBuf原理一
    查看>>
    Netty源码—6.ByteBuf原理二
    查看>>
    Netty源码—7.ByteBuf原理三
    查看>>
    Netty源码—7.ByteBuf原理四
    查看>>
    Netty源码—8.编解码原理一
    查看>>
    Netty源码—8.编解码原理二
    查看>>
    Netty源码解读
    查看>>
    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
    查看>>
    Netty相关
    查看>>