传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,mongodb是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。mongodb对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
mysql
mongodb
说明
mysqld
mongod
服务器守护进程
mysql
mongo
客户端工具
mysqldump
mongodump
逻辑备份工具
mysql
mongorestore
逻辑恢复工具
db.repairdatabase()
修复数据库
mysqldump
mongoexport
数据导出工具
source
mongoimport
数据导入工具
grant * privileges on *.* to …
db.adduser()
db.auth()
新建用户并权限
show databases
show dbs
显示库列表
show tables
show collections
显示表列表
show slave status
rs.status
查询主从状态
create table users(a int, b int)
db.createcollection(mycoll, {capped:true,
size:100000}) 另:可隐式创建表。
创建表
create index idxname on users(name)
db.users.ensureindex({name:1})
创建索引
create index idxname on users(name,ts desc)
db.users.ensureindex({name:1,ts:-1})
创建索引
insert into users values(1, 1)
db.users.insert({a:1, b:1})
插入记录
select a, b from users
db.users.find({},{a:1, b:1})
查询表
select * from users
db.users.find()
查询表
select * from users where age=33
db.users.find({age:33})
条件查询
select a, b from users where age=33
db.users.find({age:33},{a:1, b:1})
条件查询
select * from users where age
db.users.find({'age':{$lt:33}})
条件查询
select * from users where age>33 and age
db.users.find({'age':{$gt:33,$lte:40}})
条件查询
select * from users where a=1 and b='q'
db.users.find({a:1,b:'q'})
条件查询
select * from users where a=1 or b=2
db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )
条件查询
select * from users limit 1
db.users.findone()
条件查询
select * from users where name like %joe%
db.users.find({name:/joe
