1、关于mongo
MongoDB是一个跨平台,面向文档的非关系型数据库,提供高性能,高可用性和易于扩展。MongoDB是工作在集合和文档上一种概念。
2、mongo的优势
1、High performance——对数据库高并发读写的需求
2、Huge Storage——对海量数据的高效率存储和访问的需求
3、High Scalability && High Availability——对数据库的高可扩展性和高可用性的需求
3、mongo的基本操作
1、安装
mongo的下载安装参照官网,http://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/?_ga=1.213914001.709617683.1442824837
2、登录
安装好会第一次进去mongo是不需要密码的,默认有一个test数据库,直接打mongo命令进入test,为了安全起见,我们需要给mongo建立管理用户并认证授权;
首先关闭认证: /etc/mongod.conf -- #auth = true;
建立管理员用户,连接mongo:mongo 选择用户管理数据库:use admin;建立管理员用户:db.createUser({user: "root",pwd: "123456",roles: [ {role:"userAdminAnyDatabase",db: "admin" } ]})
开启认证: /etc/mongod.conf -- auth = true;
建立应用数据库用户,先使用管理员登录:mongo 127.0.0.1/admin -uroot -p123456;建立应用数据库:use db_myapp;建立用户:db.createUser({user:"user_myapp",pwd:"123456",roles:[{ role:"dbOwner", db:"db_myapp"}, {role:"readWrite",db:"db_myapp"}]})
使用建立的认证用户登录数据库进行操作,mongo 127.0.0.1/db_myapp -uuser_myapp -p123456;
3、mongo数据库的基本操作命令:
数据库的建立和删除(需要登录root操作),建立数据库:use dbname;显示所有:show dbs;删除:use dbname -> db.dropDatabase()
集合的建立和删除,建立集合:db.createCollection(name, options),options参数可选,name双引号;显示数据库所有集合:show collections;删除集合:db.collectionname.drop()
数据的查找,查找集合mycol的所有数据:db.mycol.find();条件查找:db.mycol.find({"name":"张三"});多条件查找:db.mycol.find({"name":"张三","age":"20"});查找一个数据:db.mycol.findOne({"name":"张三"});
数据的添加:
db.mycol.insert({
_id: ObjectId(7df78ad8902c),
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials yiibai',
url: 'http://www.yiibai.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
数据修改:
db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
数据的删除:
db.mycol.remove({'title':'MongoDB Overview'}) 或者 db.mycol.remove({'title':'MongoDB Overview'},1)