ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 高级集合

高级集合

原创 Linux操作系统 作者:zghover_cu 时间:2012-04-04 07:19:25 0 删除 编辑

高级集合(collection)

1,固定集合

.固定集合进行插入时速度极快,因为插入时无需分配内存。

.固定集合是一个环形队列,新数据插入时自动淘汰旧的数据。

.固定集合在使用前显示的创建

1.1 创建固定集合

#创建一个大小为100000字节的固定集合

db.createCollection("my_collection", {capped: true, size: 100000});

#创建一个大小为100000字节,文档数量限制为100个。当容量还没有满时会根据文档的大小来启用淘汰机制,若容量已满,文档限制不再起作用。

> db.createCollection("my_collection", {capped: true, size: 100000, max: 100});
{ "ok" : 1 }

1.2 由其他的集合转换成固定集合

把集合cc转换成大小为10000字节的固定集合。

> db.runCommand({convertToCapped: "cc", size: 10000}); 
{ "ok" : 1 }

1.3  固定集合的自然排序

固定集合总是按插入的顺序排序的,自然顺序就是与此相同的顺序。

#按照插入顺序相反的顺序排序:

db.my_collection.find().sort({"$natural" : -1})

1.4 尾部游标

$cursor = $collection->find()->tailable();
while (true) {
if (!$cursor->hasNext()) {
if ($cursor->dead()) {
break;
}
sleep(1);
}
else {
while (cursor->hasNext()) {
do_stuff(cursor->getNext());
}
}
}

尾部游标没有被销毁,它只处理结果,或是等待更多的结果。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20498361/viewspace-720295/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-03-25

  • 博文量
    12
  • 访问量
    56927