zoukankan      html  css  js  c++  java
  • MongoDB

    一. 简介

      MongoDB是介于传统数据库和NoSQL数据库之间的一种非关系型数据库。MongoDB使用c++实现,具有高可靠,高可用等优秀特性。
      每条记录相当于一个document。

    documment-->row
    collection-->table
    db-->db
    mongo-->mysql

    二. 特性

    (1)面向文档(document)的存储方式BSON(二进制json)
    文档的schema没有严格要求,方便灵活。
    (2)全索引支持 
    (3)支持同步并且高可用 
    (4)自动sharding(alpha阶段) 
    (5)灵活的数据查询 
    (6)支持MapReduce 
    (7)其他:GridFS,多种语言接口,建立索引不阻塞

    三. 安装

    • linux
    1)将mongodb-linux-x86_64-2.6.2.tgz解压到/root/programs
    2)配置环境(/etc/profile)

    #MongoDB
    export MongoDB_HOME=/root/programs/mongodb-linux-x86_64-2.6.2
    export PATH=$MongoDB_HOME/bin:$PATH

    #source /etc/profile

    四. 基本命令

    • 启动服务(默认dbpath为/data/db)
    #mongod
    #mongod -dbpath /opt/data/mongodb
    默认服务端口为27017


    后台启动
    1)添加配置文件mongodb.conf(dbpath需要人工创建)

    port=27017
    dbpath=data/db
    logpath=logs/mongodb.log
    logappend=true
    fork=true

    2)启动
    mongod -f mongodb.conf 
    3)关闭
    bin/mongod -f mongodb.conf --shutdown

    • 客户端连接DB
    #mongo
    #mongo --host localhost --port 27017
    连上后,默认使用test DB

    • 命令行工具
    1)查看当前db
    >db

    2)查看其他DB(不包含当前使用的)
    >show dbs

    3)切换或创建DB
    #use mydb

    4)查询当前DB下的所有collections
    >show collections

    5)插入document
    >x={x:"1"}
    >db.test.insert(x) //test 集合如果不存在,则创建

    >for (var i = 1; i <= 25; i++) db.testData.insert( { x : i } )
    6)查询document
    >db.test.find()

    >var c = db.testData.find()
    >while ( c.hasNext() ) printjson( c.next() )

    >db.test.find( { x : "7" } )
    db.test.find({x:"1"},{"_id":0}) //不包含_id
    >db.test.find().limit(3)
    >db.users.find( { age: { $gt: 18 } }, { name: 1, address: 1 } ).limit(5).sort({age:1})
    >db.test.find( { x: { $in: [ '1', '3' ] } } )
    >db.inventory.find( { x: '1', $or: [ { qty: { $gt: 100 } }, { price: { $lt: 9.95 } } ]} )

    五. 用户管理

    • 创建超级用户
    1)mongod以不带--auth方式启动
    2)切到admin DB下
    >use admin
    3)添加用户及密码
    >addUser("admin","password")
    4)重启mongod,以带--auth方式启动
    5)以后需要该用户的时候
    >db.auth("admin","password")


    • 创建普通用户
    2)切到admin DB下并用超级用户登陆
    >use admin
    >db.auth("admin","password")
    3)切到目标DB下并创建用户
    >use test
    >db.addUser("user","passwd")

  • 相关阅读:
    springclould feign客户端添加全局参数
    mysql单向自动同步
    MongoDB的安装和配置(Windows系统)及遇到的常见问题解答
    电脑中安装多个jdk,eclipse的选择!
    css(外部样式表)中各种选择器(定义属性时)的优先级
    HTML5结合CSS的三种方法+结合JS的三种方法
    HTML5图片居中的问题
    html->html5->css->javascript(js)->jQuery->AJAX->JSON
    自定义方法实现ArrayList排序
    java,while循环的使用,接收用户的输入,进行不同的操作!
  • 原文地址:https://www.cnblogs.com/waterystone/p/5086186.html
Copyright © 2011-2022 走看看