美文网首页工作
MongoDB distinct() 指定字段去重

MongoDB distinct() 指定字段去重

作者: 沧海2122537190 | 来源:发表于2019-05-28 14:15 被阅读0次

    db.collection.distinct(field, query, options)
    获取某个字段的唯一值,仅可对单一字段去重。
    若对多字段去重,可使用group分组操作

    1.field为需要去重的字段,为必须字段。

    无条件排重

    db.getCollection("表名").distinct("字段名"); 
    
    2.query为去重的筛选条件,为可选字段。

    有条件排重

    db.getCollection("表名").distinct('字段名',{筛选条件})
    
    3.options 为其他选项一般应用较少

    详情参见官方文档

    db.getCollection("表名").distinct('字段名',{筛选条件},{
    collation: {
       locale: <string>,
       caseLevel: <boolean>,
       caseFirst: <string>,
       strength: <int>,
       numericOrdering: <boolean>,
       alternate: <string>,
       maxVariable: <string>, 
       backwards: <boolean>
    }})
    

    去除重复的表名

    db.collection.distinct() 
    

    distinct 有去重上限
    Error: distinct too big, 16mb cap

    示例

    1、在表xaaa中对article_location字段去重
    db.getCollection("xaaa").distinct("article_location"); 
    
    示例1
    2、在表article_info中 对article_vendor字段去重,筛选条件为year字段不存在
    db.getCollection("article_info").distinct('article_vendor',{"year": {"$exists":false}});
    
    示例2
    3、对数组字段去重
    db.getCollection("distinct").distinct("language")
    
    去重前内容
    去重后内容
    4、对嵌入字段去重
    db.getCollection("distinct").distinct("article_numbers.vol")
    
    去重前
    去重后

    相关文章

      网友评论

        本文标题:MongoDB distinct() 指定字段去重

        本文链接:https://www.haomeiwen.com/subject/bczrtctx.html