博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB学习系列4:固定集合
阅读量:5775 次
发布时间:2019-06-18

本文共 1422 字,大约阅读时间需要 4 分钟。

hot3.png

固定集合需要事先创建,而且大小固定。

它有点类似环形队列,如果空间不足,则最早的文档会被删除,这意味着固定集合会在新文档插入的时候自动淘汰最早的文档。

它与普通集合有一个区别,默认情况下,固定集合没有索引,即便是"_id"也没有索引。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> db.createCollection("mycollection",{capped:true,size:100000}){ "ok" : 1 }

上图表示建立一个 mycollection集合,固定集合,大小为100000字节。

 

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

上面的代码表示另外设定了最大文档数量的属性为100.

~~~~~~~~~~~~~~~~~~

对于已经有的集合,可以通过convertToCapped命令来转变成固定集合。

关于排序

由于固定集合存储文档的顺序类似于环形队列,所以下面来看2个例子有个认识。

> db.mycollection.insert({"name":"a fan da"})> db.mycollection.insert({"name":"bbb"})> db.mycollection.insert({"name":"ccc"})> db.mycollection.find(){ "_id" : ObjectId("52b6d8fc2d1237e40f2ccb62"), "name" : "a fan da" }{ "_id" : ObjectId("52b6d9032d1237e40f2ccb63"), "name" : "bbb" }{ "_id" : ObjectId("52b6d9072d1237e40f2ccb64"), "name" : "ccc" }> db.mycollection.find().sort({"$natural":1}){ "_id" : ObjectId("52b6d8fc2d1237e40f2ccb62"), "name" : "a fan da" }{ "_id" : ObjectId("52b6d9032d1237e40f2ccb63"), "name" : "bbb" }{ "_id" : ObjectId("52b6d9072d1237e40f2ccb64"), "name" : "ccc" }> db.mycollection.find().sort({"$natural":-1}){ "_id" : ObjectId("52b6d9072d1237e40f2ccb64"), "name" : "ccc" }{ "_id" : ObjectId("52b6d9032d1237e40f2ccb63"), "name" : "bbb" }{ "_id" : ObjectId("52b6d8fc2d1237e40f2ccb62"), "name" : "a fan da" }

可以看到可以根据插入的顺序来自然或者逆序获得文档。

 

转载于:https://my.oschina.net/qiangzigege/blog/186701

你可能感兴趣的文章
Hoshin Kanri在丰田的应用
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>
Nginx 学习书单整理
查看>>
微软发布UWP Bridge项目将一切应用转为Windows应用
查看>>
战胜阿里和腾讯,Ripple已经获得200家跨境支付客户!
查看>>
Facebook如何重新设计HHVM JIT编译器的性能
查看>>
CentOS6.X下Gogs安装与配置
查看>>
js/jQuery中单选框、下拉框的取值、设置
查看>>
本地也能运行AWS?是的,AWS开始进军混合云领域了
查看>>
十年中文技术社区风雨之路 今晚4位老炮畅聊过去未来
查看>>
数人云Mesos调度器Swan v0.2最新功能演示
查看>>
Java String、StringBuffer和StringBuilder类
查看>>
通过DevOps考古学了解生产环境
查看>>
使用C#进行系统编程
查看>>
天天都在说,无服务器计算到底是什么?
查看>>
实时监控系统如何帮助FreeWheel支持超级赛事直播广告?
查看>>
Fake 5提供.NET Core支持
查看>>
贝壳金控赵文乐:基于 Spring Cloud 的服务治理实践
查看>>
Java程序员:不要因未知而让云成本大涨
查看>>
PHP|标准配置之php.ini (2)
查看>>