数码资讯
MongoDB的教程聚集(计数,明显,和组)
1。计数: 复制代码代码如下所示: 在空集合中,计数返回数为0。 > > db.test.count() 零 -在插入文档后测试计数的返回值。 > db.test.insert({试验:1 }) > > db.test.count() 一 > db.test.insert({试验:2 }) > >
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
1。计数:
复制代码代码如下所示:
在空集合中,计数返回数为0。
> > db.test.count()
零
-在插入文档后测试计数的返回值。
> db.test.insert({试验:1 })
> > db.test.count()
一
> db.test.insert({试验:2 })
> > db.test.count()
二
计数,如查找,也接受条件。从结果中可以看出,计算中只包含条件文档。
> db.test.count ({test: 1})
一
2。不同的:
用于查找给定键的所有不同值。使用时还必须指定集合和键。
复制代码代码如下所示:
-为了便于以后的测试,测试集被清空了。
> > db.test.remove()
> > db.test.count()
零
-插入4个测试数据。请注意年龄字段。
> db.test.insert({名字:艾达
> db.test.insert({名字:弗莱德
> db.test.insert({名字:安迪
> db.test.insert({名字:苏珊
命令必须指定集合的名称,如测试和需要区分的字段,如年龄。
下面的命令将根据测试集中的年龄字段执行不同的命令。
> > db.runcommand({明显:测试
{
值:{
20,
35,
六十
},
统计:{
n:4,
nscanned :4,
nscannedobjects :4,
timems :0,
光标:basiccursor
},
OK:1
}
三.组:
由集团聚集有些复杂。首先选择是基于组密钥,然后mondb将采集到的基础上选定的关键值的差几组,然后你可以将文件在每一组中生成一个结果文件。
复制代码代码如下所示:
-这是准备好的测试数据
> > db.test.remove ()
> db.test.insert({天:2012-08-20
> db.test.insert({天:2012-08-21
> db.test.insert({天:2012-08-20
> db.test.insert({天:2012-08-22
> db.test.insert({天:2012-08-21
在这里,您将使用组的组键,然后用时间键值的最新时间戳取出文档,并取出文档的价格键值。
> > db.test.group({
…键:{:true },如果它是多个字段,可以为):true,F2:true }
…初始:{时间:0},——初始代表美元减少函数参数和初始值。每个小组有一个拷贝的初始值。
…为减少:功能(DOC,沪指){——减少函数接受两个参数,DOC表示当前文档和迭代,沪指代表蓄电池文档。
…如果(doc.time >上期时间){
…prev.day = doc.day
prev.price = doc.price;
prev.time = doc.time;
…}
…})
{
{
天:2012-08-20
时间:2012-08-20 05:00:00
价格:4.1
},
{
天:2012-08-21
时间:2012-08-21 11:28:00
价格:4.27
},
{
天:2012-08-22
时间:2012-08-22 05:26:00
价格:4.3
}
}
下面的示例是计算每个组中文档的数量。
> > db.test.group({
…键:{:真},
初始值:{计数:0 },
…减少:功能(obj,沪指){上期数+ +;},
…})
{
{
天:2012-08-20
计数:2
},
{
天:2012-08-21
计数:2
},
{
天:2012-08-22
计数:1
}
}
最后一个例子是通过一个完整的设备修改减少结果的示例。
> > db.test.group({
…键:{:真},
初始值:{计数:0 },
…减少:功能(obj,沪指){上期数+ +;},
…完成:功能(出){ 10 } out.scaledcount = out.count *添加一个关键的结果文件。
…})
{
{
天:2012-08-20
计数:2,
scaledcount :20
},
{
天:2012-08-21
计数:2,
scaledcount :20
},
{
天:2012-08-22
计数:1,
scaledcount :10
}
}
复制代码代码如下所示:
在空集合中,计数返回数为0。
> > db.test.count()
零
-在插入文档后测试计数的返回值。
> db.test.insert({试验:1 })
> > db.test.count()
一
> db.test.insert({试验:2 })
> > db.test.count()
二
计数,如查找,也接受条件。从结果中可以看出,计算中只包含条件文档。
> db.test.count ({test: 1})
一
2。不同的:
用于查找给定键的所有不同值。使用时还必须指定集合和键。
复制代码代码如下所示:
-为了便于以后的测试,测试集被清空了。
> > db.test.remove()
> > db.test.count()
零
-插入4个测试数据。请注意年龄字段。
> db.test.insert({名字:艾达
> db.test.insert({名字:弗莱德
> db.test.insert({名字:安迪
> db.test.insert({名字:苏珊
命令必须指定集合的名称,如测试和需要区分的字段,如年龄。
下面的命令将根据测试集中的年龄字段执行不同的命令。
> > db.runcommand({明显:测试
{
值:{
20,
35,
六十
},
统计:{
n:4,
nscanned :4,
nscannedobjects :4,
timems :0,
光标:basiccursor
},
OK:1
}
三.组:
由集团聚集有些复杂。首先选择是基于组密钥,然后mondb将采集到的基础上选定的关键值的差几组,然后你可以将文件在每一组中生成一个结果文件。
复制代码代码如下所示:
-这是准备好的测试数据
> > db.test.remove ()
> db.test.insert({天:2012-08-20
> db.test.insert({天:2012-08-21
> db.test.insert({天:2012-08-20
> db.test.insert({天:2012-08-22
> db.test.insert({天:2012-08-21
在这里,您将使用组的组键,然后用时间键值的最新时间戳取出文档,并取出文档的价格键值。
> > db.test.group({
…键:{:true },如果它是多个字段,可以为):true,F2:true }
…初始:{时间:0},——初始代表美元减少函数参数和初始值。每个小组有一个拷贝的初始值。
…为减少:功能(DOC,沪指){——减少函数接受两个参数,DOC表示当前文档和迭代,沪指代表蓄电池文档。
…如果(doc.time >上期时间){
…prev.day = doc.day
prev.price = doc.price;
prev.time = doc.time;
…}
…})
{
{
天:2012-08-20
时间:2012-08-20 05:00:00
价格:4.1
},
{
天:2012-08-21
时间:2012-08-21 11:28:00
价格:4.27
},
{
天:2012-08-22
时间:2012-08-22 05:26:00
价格:4.3
}
}
下面的示例是计算每个组中文档的数量。
> > db.test.group({
…键:{:真},
初始值:{计数:0 },
…减少:功能(obj,沪指){上期数+ +;},
…})
{
{
天:2012-08-20
计数:2
},
{
天:2012-08-21
计数:2
},
{
天:2012-08-22
计数:1
}
}
最后一个例子是通过一个完整的设备修改减少结果的示例。
> > db.test.group({
…键:{:真},
初始值:{计数:0 },
…减少:功能(obj,沪指){上期数+ +;},
…完成:功能(出){ 10 } out.scaledcount = out.count *添加一个关键的结果文件。
…})
{
{
天:2012-08-20
计数:2,
scaledcount :20
},
{
天:2012-08-21
计数:2,
scaledcount :20
},
{
天:2012-08-22
计数:1,
scaledcount :10
}
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。