mongodb应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mongodb应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2737字,纯文字阅读大概需要4分钟。
内容图文
![mongodb应用](/upload/InfoBanner/zyjiaocheng/475/b0fdf7f59b634879a73f6bc7ff9d7fd3.jpg)
首先我们来分析下mysql 与mongodb的特点与优劣。
下面是我以前做的ppt的部分截图。
再来分析下应用场景,
a.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量:
(1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类)
(2)从data models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。
(3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。
这种情况也是不少的,我手上的游戏就是有nodejs+mongodb的,用户总量也是千万级别的,流水什么还不错。
b.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。
考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。
亦或是仅作日志收集分析。
问题2:
楼主可能没有观察仔细。
我做了下实验。例子如下:
> db.a.save({"a":3});
> db.a.save({"a":4});
> db.a.find()
{ "_id" : ObjectId("540826eb0e83c3fb7ea07a0f"), "a" : 3 }
{ "_id" : ObjectId("5416869a9fa8a67830dfc9a8"), "a" : 4 }
> db.a.find().sort({a:1})
{ "_id" : ObjectId("540826eb0e83c3fb7ea07a0f"), "a" : 3 }
{ "_id" : ObjectId("5416869a9fa8a67830dfc9a8"), "a" : 4 }
> db.a.find().sort({a:-11})
{ "_id" : ObjectId("5416869a9fa8a67830dfc9a8"), "a" : 4 }
{ "_id" : ObjectId("540826eb0e83c3fb7ea07a0f"), "a" : 3 }
> db.system.profile.find({"ns":"test.a"})
{ "op" : "query", "ns" : "test.a", "query" : { "query" : { }, "orderby" : { "a" : 1 } }, "ntoreturn" : 0, "ntoskip" : 0, "nscanned" : 2, "scanAndOrder" : true, "keyUpdates" : 0, "numYield" : 0, "lockStats" : { "timeLockedMicros" : { "r" : NumberLong(156), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(4), "w" : NumberLong(3) } }, "nreturned" : 2, "responseLength" : 86, "millis" : 0, "ts" : ISODate("2014-09-15T06:26:36.681Z"), "client" : "127.0.0.1", "allUsers" : [ ], "user" : "" }
{ "op" : "query", "ns" : "test.a", "query" : { "query" : { }, "orderby" : { "a" : -11 } }, "ntoreturn" : 0, "ntoskip" : 0, "nscanned" : 2, "scanAndOrder" : true, "keyUpdates" : 0, "numYield" : 0, "lockStats" : { "timeLockedMicros" : { "r" : NumberLong(120), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(4), "w" : NumberLong(3) } }, "nreturned" : 2, "responseLength" : 86, "millis" : 0, "ts" : ISODate("2014-09-15T06:26:39.125Z"), "client" : "127.0.0.1", "allUsers" : [ ], "user" : "" }
sort的使用并不是放在query中的,而是有一个orderby的单独字段来存放。如上述红字部分。
mongodb应用
标签:object node 数据库 好的 分享 and 情况 nand lov
本文系统来源:http://www.cnblogs.com/liangxiaofeng/p/6405081.html
内容总结
以上是互联网集市为您收集整理的mongodb应用全部内容,希望文章能够帮你解决mongodb应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。