mongodb

概述 安装过程可以参考官网,文档很详细. ubuntu官网源有提供mongodb安装,但是一般版本都比较落后,更新不及时。 所以可以采用mongodb提供的安装源,安装最新的mongodb. mongodb只为64-bit的长期支持版本提供安装源,即ubuntu12.04/ubuntu14.04. 其他版本也许可以使用,但是不推荐。 mongodb官网有5个主要的包: mongodb-dev. meta-pacage. 自动安装其他四个包. mongodb-org-server. mongod-daemon以及配置文件/init脚本 mongodb-org-mongos. mongos-daemon. mongodb-org-shell. mongo-shell mongodb-org-tools. mongoimport/mongodump/bsondump/mongoexport/retore/stat/perf/oplog等工具. 安装过程 具体过程如下 # import mongodb GPK key sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 # add source # 12.04 echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list # 14.04 echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list sudo apt-get update sudo apt-get install -y mongodb-org 如果想安装特定版本mongodb # 如果只mongodb-org=3.2.0,会安装最新版本mongodb. 后面的必须也制定。 sudo apt-get install -y mongodb-org=3.
Jan 8, 2016
1 min read
TODO 项目地址:: TODO ref mongodb本身是无模式的,但是使用时都要在application层实现模式约束. mongoengine是个mongodb ORM库。已相当成熟稳定, 使用广泛, 开发活跃. 性能相对也不错(可以参见项目下的bench). 使用下来发现mongoengine还是很不错的库,但是有部分特性使用起来并不方便. mongoengine问题 索引问题 索引应该跟document分开.并且有自动化建立和删除的command. 把索引定在Document/meta/indexes里很糟糕: 写法很乱,不易管理。 有时会失效,没有建立对应的索引 listField校验问题 listField没法做长度限制 set/sortset/max-len list/ sort-list等结构没有实现 不支持自定义字段验证/文档级验证 pre_save/after_save hooks 不可存储的EmbdDocumment TODO 待考虑 可扩展的Document TODO 待考虑
Jul 31, 2014
1 min read
TODO: 来源 索引可以加快读取操作,但是会降低写入和更新操作, 一般要根据文档的读写比决定是否使用索引 可以使用hint和explain来比较和测试索引的实际效果, 但要注意mongodb热数据缓存带来的影响 对于较小的集合,使用索引查询反而会让查询更慢, 因为一次大的顺序读变成了多次随机读 nosqlfan是个学习和找问题的好地方 mongodb索引简介 基本操作 索引一般使用B+树结构,来优化查询操作, 建立的索引应该符合查询要求,才能发挥作用 db.things.ensureIndex({j:1}) 默认单列/文档/组合索引 每个集合都会有个默认索引 _id ,该字段不能删除 单列索引可以是独立字段,也可以是嵌套文档字段 建立文档索引会导致 必须使用严格匹配的查询才能返回结果,一般用组合索引替代 TODO 稀疏索引的概念与sql中的稀疏索引概念不同 mongodb不会为字段值不存在的文档加入索引,null值不能被查出 唯一索引 db.ensureIndex({j:1}, {unique: true}) db.ensureIndex({j:1}. {unique: true, dropDups: true}) 特殊索引 mongodb支持2d索引,用于地理位置服务。 mongodb支持text全文索引,但是功能较弱. 须注意: mongodb 2d索引使用B+树结构,不会造成性能上的问题。勿轻信性能问题 http://blog.nosqlfan.com/html/1811.html mongodb 2d索引返回的距离不会实际距离,而是坐标点距离. 根据实际情况做 /111, 或是/65535处理
Jun 27, 2014
1 min read