Home >Database >Mysql Tutorial >mongodb 聚合命令

mongodb 聚合命令

WBOY
WBOYOriginal
2016-06-07 16:34:471114browse

MongoDB中聚合主要用于处理数据,如统计平均值,求和等等,并返回计算后的数据结果。 1.?countcount函数返回指定集合中的数量。 db. mediaCollection.count()4 db. mediaCollection.find( { Publisher : "Apress", Type: "Book" } ).count()1 2. distinctdist

MongoDB中聚合主要用于处理数据,如统计平均值,求和等等,并返回计算后的数据结果。 1.?count count函数返回指定集合中的数量。
> db. mediaCollection.count()
4
> db. mediaCollection.find( { Publisher : "Apress", Type: "Book" } ).count()
1
2. distinct distinct函数用来除重,找出所有不同的值。
> db. mediaCollection.distinct( "Title")
[ "Definitive Guide to MongoDB, the", "Nevermind" ]
> db. mediaCollection.distinct ("Tracklist.Title")
[ "In Bloom", "Smells like teen spirit" ]
3. group group函数是类似于SQL的GROUP BY功能,虽然语法稍有不同。该命令的目的是返回分组的项目的数组。该函数有三个参数:?key, initial, ?reduce。 key参数指定要以什么来分组,如以标题进行分组。 initial参数每个分组reduce调用的初始值。 reduce参数同类元素放在一起,需要两个参数:当前被遍历的文档和聚集计数器对象。
> db. mediaCollection.group (
... {
... key: {Title : true},
... initial: {Total : 0},
... reduce : function (items,prev)
... {
... prev.Total += 1
... }
... }
... )
[
        {
                "Title" : "Definitive Guide to MongoDB, the",
                "Total" : 1
        },
        {
                "Title" : "Nevermind",
                "Total" : 2
        },
        {
                "Title" : null,
                "Total" : 1
        }
]
除了key, initial, ?reduce参数,还可以指定三个可选参数:keyf,cond,finalize。 group函数目前不能在分片环境下使用,可以使用MapReduce函数来代替。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn