首页 > 数据库 >mongodb 查重与去重

mongodb 查重与去重

时间:2023-08-16 14:58:18浏览次数:51  
标签:查重 count dups mongodb time db doc id

-- 查询image重复记录
db.getCollection('image').aggregate([
    { $group: { _id : {imageId: '$imageId',time:'$time'}, count: { $sum : 1 } } },
    { $match: { count: { $gt : 1} } }
])

-- 删除image重复记录
db.getCollection('image').aggregate([
    {   $group: { 
            _id : {imageId:'$imageId'},
            count: { $sum : 1 },
            dups:{$addToSet:'$_id'}
        } 
    },
    { 
        $match: {
            count: { $gt : 1} 
        }
    }
]).forEach(function(doc){
    doc.dups.shift();
    db.image.remove({_id:{$in:doc.dups}});
})

--  查询face重复记录
db.getCollection('face').aggregate([
    { $group: { _id : {faceId: '$faceId',time:'$time',personId:'$personId'}, count: { $sum : 1 } } },
    { $match: { count: { $gt : 1} } }
])

-- 删除face重复记录
db.getCollection('face').aggregate([
    {   $group: { 
             _id : {faceId: '$faceId',time:'$time',personId:'$personId'},
            count: { $sum : 1 },
            dups:{$addToSet:'$_id'}
        } 
    },
    { 
        $match: {
            count: { $gt : 1} 
        }
    }
],
{allowDiskUse: true}
).forEach(function(doc){
    doc.dups.shift();
    db.face.remove({_id:{$in:doc.dups}});
})

 

标签:查重,count,dups,mongodb,time,db,doc,id
From: https://www.cnblogs.com/anquing/p/17634830.html

相关文章

  • 使用 SpringData 操作 Mongodb
    本篇博客主要介绍SpringBoot如何通过SpringData操作Mongodb。在上篇博客部署的mongodb为了方便,在admin库中创建了一个root角色的账号,使用这个账号具有最高权限,可以访问和操作任何库。在实际项目中强烈建议为每个mongodb数据库创建一个低权限角色的用户,比如具有readw......
  • MongoDB——Centos五步安装并设置服务自启(一)
     简介:官方地址:MongoDB:TheDeveloperDataPlatform|MongoDBMongoDB是一个开源的NoSQL数据库管理系统,它使用文档型数据模型来存储数据,以下是MongoDB的基本信息文档型数据存储:MongoDB使用BSON(BinaryJSON)格式存储数据,它是一种类似于JSON的二进制表示形式。每个文档是一个包含字......
  • MongoDB
    MongoDBMongoDB是一个开源的,跨平台的文档数据库管理系统,它属于NoSQL的一种,旨在满足现代应用程序对灵活性,可拓展性和高性能的需求,MongoDB支持面向文档的数据存储模型,使开发人员能够以更自然的方式存储和查询数据,而无需遵循传统的关系型数据库结构。以下是MongoDB的一些重要特点和......
  • 使用 Docker 部署 Mongodb
    Mongodb是最像关系型数据库的NoSql数据库,其数据类型非常丰富,数据结构松散,采用类似Json的Bson二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。由于在......
  • 通过python的pymongo连接MongoDB数据库最新方式
    首先导入需要的模块功能fromurllibimportparsefrompymongoimportMongoClient使用pymongo的客户端进行链接self.host="168.9.5.27"self.port=27017self.user="Mr.baba"self.password="PLA_No.1"......
  • mongoDB 入门指南、示例
    一、准备工作1、下载mongoDB下载地址:http://www.mongodb.org/downloads选择合适你的版本相关文档:http://www.mongodb.org/display/DOCS/Tutorial2、安装mongoDBA、不解压模式:将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默认端口27017,db保存的路径......
  • MongoDB索引操作和执行计划Explain()详解
    一、索引操作说明,下面的内容举例时,以"dailyTrip"collection为例。字段内容如下:{"_id":ObjectId("63ec5a971ddbe429cbeeffe3"),//objectid"car_type":"Gett",//string"date":ISODate("2016-04-01T0......
  • centos 安装下载mongodb数据库
    mongodb下载安装官网:https://www.mongodb.com/try/download/communitytar-zxvfmongodb-linux-x86_64-rhel70-4.4.17.tgzmvmongodb-linux-x86_64-rhel70-4.4.17/usr/local/mvmongodb-linux-x86_64-rhel70-4.4.17/mongodbcd/usr/local/mongodbmkdirdatalogscd......
  • Mongodb Write Concern
    写关注点描述了MongoDB对独立mongod、副本集或分片集群进行写操作时请求的确认级别。在分片集群中,mongos实例将写关注点传递给分片。对于多文档事务,可以在事务级别设置写关注点,而不是在单个操作级别。不要显式地为事务中的各个写操作设置写关注点。从MongoDB4.4开始,副本集和分片集......
  • 链接Mongodb报错Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1
    解决方案在连接数据库字符串后面添加authSource=admin  "MongoDB":{"Host":"mongodb://touchadmin:[email protected]:27017/TouchAdmin?authSource=admin","DbName":"TouchAdmin"} useTouchAdmindb.cre......