MongoDB——单一作用聚合

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB——单一作用聚合相关的知识,希望对你有一定的参考价值。

目录

一、单一作用聚合的概述

  • 提供了对常见聚合过程的简单访问,操作都从单个集合聚合文档。
  • MongoDB提供 db.collection.estimatedDocumentCount(),db.collection.count(),
    db.collection.distinct() 这类单一作用的聚合函数。 所有这些操作都聚合来自单个集合的文档。
  • 虽然这些操作提供了对公共聚合过程的简单访问,但它们缺乏聚合管道和map-Reduce的灵活性和功能。

二、单一作用聚合函数

函数描述
db.collection.estimatedDocumentCount()忽略查询条件,返回集合或视图中所有文档的计数
db.collection.count()返回与find()集合或视图的查询匹配的文档计数 。等同于 db.collection.find(query).count()构造
db.collection.distinct()在单个集合或视图中查找指定字段的不同值,并在数组中返回结果。

三、单一作用聚合函数示例

注意:在分片群集上,如果存在孤立文档或正在进行块迁移,则db.collection.count()没有查询谓词可能导致计数不准确。要避免这些情况,请在分片群集上使用 db.collection.aggregate()方法。

  • 检索books集合中所有文档的计数

    db.books.estimatedDocumentCount()
    

  • 计算与查询匹配的所有文档

    db.books.count(favCount:$gt:50)
    

  • 返回不同type的数组

    db.books.distinct("type")
    

  • 返回收藏数大于90的文档不同type的数组

    db.books.distinct("type",favCount:$gt:90)
    

以上是关于MongoDB——单一作用聚合的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB——聚合操作

MongoDB——聚合操作

MongoDB聚合(单一用途的聚合方法)

mongodb3 之单一用途聚合

翻译MongoDB指南/聚合——聚合管道

Mongo高级用法