mongoDB简介(本文由www.169it.com搜集整理)

    MongoDB是一个高性能,开源,无模式的文档型数据库,是目前在IT行业非常流行的一种非关系型数据库(NoSql)。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/.MongoDB灵活的数据存储方式备受当前IT从业人员的青睐。MongoDB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。

   2015年3月3日,MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大、灵活而且易于管理的数据库管理系统。MongoDB宣称,3.0新版本不只提升7到10倍的写入效率以及增加80%的数据压缩率,还能减少95%的运维成本。

mongoDB 3.0下载

mongoDB 3.0下载地址:  mongoDB 3.0下载 

 

官方提供的mongoDB 3.0可下载的各个版本如下图所示:

mongodb 3.0如何安装呢?具体安装步骤如下:

mongodb 3.0在Linux上的安装步骤(主要是指在redhat/centos上的安装过程)

1. 在redhat/centos配置mongodb 3.0的yum源.

在redhat/centos上建立一个yum源文件 /etc/yum.repos.d/mongodb-org-3.0.repo 并将以下信息添加到文件中,

[mongodb-org-3.0]       
        name=MongoDB Repository       
        baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/       
        gpgcheck=0       
        enabled=1

2 安装 mongoDB 3.0 和相关工具,执行如下安装命令:

sudo         yum         install         -y mongodb-org          //        安装最新版mongodb

sudo         yum         install         -y mongodb-org-3.0.0 mongodb-org-server-3.0.0 mongodb-org-shell-3.0.0 mongodb-org-mongos-3.0.0 mongodb-org-tools-3.0.0         //        安装mongodb 3.0

mongodb 3.0 在Windows上的安装配置步骤:

1. 根据windows版本选择下载相应的mongodb 3.0版本的msi文件。

2. 点击下载mongodb 3.0版本的msi文件。

3. 双击下载的windows安装文件mongodb-win32-x86_64-2008plus-ssl-3.0.0-signed.msi,直接安装。

4. 安装完成后,mongodb 3.0的默认安装目录为C:\mongodb。

MongoDB 3.0主要新特性包括:

 1)可插入式的存储引擎 API

 2)支持 WiredTiger 存储引擎

 3)MMAPv1 提升

 4)复制集全面提升

 5)集群方面的改进

 6)提升了安全性

 7)工具的提升

 

 

    MongoDB 3.0 在性能和扩展性方面都有非常巨大的提升,通过在存储层的大幅改进实现。新版不仅强化原本的MMAPv1储存引擎,还内置WiredTiger存储引擎以及能减少运维人员日常例行性工作的管理平台(Ops Manager)。

   WiredTiger 存储引擎是一项难以置信的技术实现,提供无门闩、非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能。通过 WiredTiger,MongoDB 3.0 实现了文档级别的并发控制,因此大幅提升了大并发下的写负载。

   因为WiredTiger,MongoDB 3.0才能有文档级别的并行控制(Concurrency Control),即使处理频繁写入任务,数据库依然能维持效能一定的稳定度和可预测性。另外,用户可以自己选择储存数据的压缩比例,MongoDB 3.0提供最高达80%的压缩率,不过压缩率越高数据处理的时间成本也越多,用户可以自行权衡应用。

MongoDB常用命令教程 

mongodb超级用户相关命令: 

use admin 
#增加或修改用户密码 
db.addUser(169it,'pwd') 
#查看用户列表 
db.system.users.find() 
#用户认证 
db.auth(169it,'pwd') 
#删除用户 
db.removeUser('mongodb') 
#查看所有用户 
show users 
#查看所有数据库 
show dbs 
#查看所有的collection 
show collections 
#查看各collection的状态 
db.printCollectionStats() 
#查看主从复制状态 
db.printReplicationInfo() 
#修复数据库 
db.repairDatabase() 
#设置记录profiling,0=off 1=slow 2=all 
db.setProfilingLevel(1) 
#查看profiling 
show profile 
#拷贝数据库 
db.copyDatabase('mail_addr','mail_addr_tmp') 
#删除collection 
db.mail_addr.drop() 
#删除当前的数据库 
db.dropDatabase() 
mongodb客户端连接命令: 
/usr/local/mongodb/bin/mongo 8.8.88/ixigualib -u ixigua -p 'pwd' 
mongodb增删改命令: 
#存储嵌套的对象 
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]}) 
#存储数组对象 
db.user_addr.save({'Uid':'169it@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']}) 
#根据query条件修改,如果不存在则插入,允许修改多条记录 
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true) 
#删除yy=5的记录 
db.foo.remove({'yy':5}) 
#删除所有的记录 
db.foo.remove() 
mongodb索引命令: 
#增加索引:1(ascending),-1(descending) 
db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true}); 
#索引子对象 
db.user_addr.ensureIndex({'Al.Em': 1}) 
#查看索引信息 
db.deliver_status.getIndexes() 
db.deliver_status.getIndexKeys() 
#根据索引名删除索引 
db.user_addr.dropIndex('Al.Em_1') 
mongodb查询命令: 
#查找所有 
db.foo.find() 
#查找一条记录 
db.foo.findOne() 
#根据条件检索10条记录 
db.foo.find({'msg':'Hello 1'}).limit(10) 
#sort排序 
db.deliver_status.find({'From':'169it@sina.com'}).sort({'Dt',-1}) 
db.deliver_status.find().sort({'Ct':-1}).limit(1) 
#count操作 
db.user_addr.count() 
#distinct操作 
db.foo.distinct('msg') 
#>操作 
db.foo.find({"timestamp": {"$gte" : 2}}) 
#子对象的查找 
db.foo.find({'address.city':'beijing'}) 
mongodb管理命令: 
#查看collection数据的大小 
db.deliver_status.dataSize() 
#查看colleciont状态 
db.deliver_status.stats() 
#查询所有索引的大小 
db.deliver_status.totalIndexSize() 
#查看当前所使用的数据库 
db