zoukankan      html  css  js  c++  java
  • mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍

    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最新特性、基本命令教程详细介绍

    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 并将以下信息添加到文件中,

    1
    2
    3
    4
    5
    [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 和相关工具,执行如下安装命令:

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

    1
    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下载安装、配置及mongodb最新特性、基本命令教程详细介绍

        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 

  • 相关阅读:
    随笔2
    随笔
    关于updateElement接口
    随笔1
    本地访问正常,服务器访问乱码 记录
    Redis (error) NOAUTH Authentication required.解决方法
    tomcat启动很慢 停留在 At least one JAR was scanned for TLDs yet contained no TLDs.
    微信公众号消息回复
    微信公众号 报token验证失败
    idea中web.xml报错 Servlet should have a mapping
  • 原文地址:https://www.cnblogs.com/yangmengdx3/p/4718668.html
Copyright © 2011-2022 走看看