博客
关于我
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/

    你可能感兴趣的文章
    mysql批量update优化_Mysql中,21个写SQL的好习惯,你值得拥有呀
    查看>>
    mysql批量update操作时出现锁表
    查看>>
    MYSQL批量UPDATE的两种方式
    查看>>
    mysql批量修改字段名(列名)
    查看>>
    MySQL批量插入数据遇到错误1213的解决方法
    查看>>
    mysql技能梳理
    查看>>
    MySQL报Got an error reading communication packets错
    查看>>
    Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
    查看>>
    MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
    查看>>
    MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
    查看>>
    Mysql报错Packet for query is too large问题解决
    查看>>
    mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
    查看>>
    Mysql报错:too many connections
    查看>>
    MySQL报错:无法启动MySQL服务
    查看>>
    mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
    查看>>
    mysql排序查询
    查看>>
    MySQL排序的艺术:你真的懂 Order By吗?
    查看>>
    MySQL排序的艺术:你真的懂 Order By吗?
    查看>>
    Mysql推荐书籍
    查看>>
    Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
    查看>>