天天看点

Mongo基本操作和命令

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)