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

}

}