序言
mongodb定位
不适合MongoDB的场景
如果业务中存在大量复杂的事务逻辑操作,则不要用MongoDB数据库。
适合MongoDB的场景
mongodb是文档存储数据库,支持二级索引,但比较消耗内存,查询功能强大,类似json格式存储,一般可以用来存放评论等半结构化数据。
与关系型数据库相比,MongoDB的优点
1.文档结构的存储方式,能够更便捷的获取数据。
对于一个层级式的数据结构来说,如果要将这样的数据使用扁平式的,表状的结构来保存数据,这无论是在查询还是获取数据时都十分困难。
2.内置GridFS,支持大容量的存储
GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。
内置了GridFS了MongoDB,能够满足对大数据集的快速范围查询。
与关系型数据库相比,MongoDB的缺点
1.MongoDB 目前只支持单文档事务,需要复杂事务支持的场景暂时不适合。
2.mongodb占用空间过大。
elasticsearch vs mongodb
选择Elasticsearch还是选择MongoDB,该问题我已经被许多初学者、朋友或需要作出技术架构决策的开发者问及好多次了。那么应该选择MongoDB,还是选择ElasticSearch呢?
如果你需要建立一个带有复杂过滤或搜索操作的应用,Elasticsearch/Solr是目前唯一最佳的选择。
资料
1.http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html
2.http://www.cnblogs.com/huangxincheng/p/4870557.html
3.http://www.cnblogs.com/matoo/p/5217922.html
下载地址:https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=1.73964567.483025619.1465987512
教程:http://www.cnblogs.com/xumingxiang/archive/2012/04/08/2437468.html#title1
http://www.cnblogs.com/huangxincheng/archive/2012/03/09/2386054.html
http://www.cnblogs.com/fish-li/archive/2011/06/26/2090800.html
http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html
伍华聪:http://www.cnblogs.com/wuhuacong/p/5098348.html
https://docs.mongodb.com/getting-started/csharp/aggregation/
https://docs.mongodb.com/manual/reference/command/distinct/
http://www.cnblogs.com/shy1766IT/p/5264180.html
官方驱动:https://docs.mongodb.com/ecosystem/drivers/
常见异常及解决方法
1.mongodb "Element '{0}' does not match any field or property of class" 异常的解决方法:在序列化的对象上增加[BsonIgnoreExtraElements]
基本命令
1.$inc 和 $set
有时候我们仅仅需要更新一个字段,而不是整体更新,那么我们该如何做呢?
mongodb中已经给我们提供了两个修改器: $inc 和 $set。