MongoDB学习02之语法小结
来源:互联网 发布:json转换为字符串 编辑:程序博客网 时间:2024/06/05 00:33
传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
mongoDB 常用命令:
database
(1)查看帮助
db.help()
(2)查看当前连接的数据库名称
db.getName()
(3)查看所有数据库名称
show dbs
(4)切换/创建数据库
use mydb
如果mydb数据库不存在,则会自动创建,创建后如果没有往里面建用户,建集合等任何操作,则退出时,会自动删掉。
(5)删掉当前数据库
db.dropDatabase()
(6)修复当前数据库
db.epairDatabase()
(7)查看数据库版本
db.version()
(8)查看当前数据库的连接地址
db.getMongo()
collection
collection,可以理解为mysql或者oracle这些关系数据库中的表(1)创建一个集合(table)
db.createCollection('studnet');
(2)查看所有集合
show cellections
或db.getCollectionNames();
(3)查看所有集合的状态信息
db.printCollectionStats();
(4)删除集合
db.xxx.drop();
xxx就是集合名称,比如db.student.drop()
document
关系型数据库(mysql,oracle等)表中的数据是有许多结构相同(列的类型,个数相同)的行(row)组成的。MongoDB的集合(collection)的数据就是有许多文档(document)组成的,每一个文档不要求一定都类型相同。学习JAVA的同学都知道Map<Key,Value>,那么可以这样理解MongoDB的集合(collection)<_id,文档>._id是特有的,如果你往collection里面插入一个文档,如果不指定_id的值,则系统自动帮你生成。
insert/save
使用insert, 如果不指定_id的值,则相同的文档可以插入任意多个;如果指定了_id的值,如果已存在文档,则报错.
db.student.insert({'name':'貂蝉','age':16}) 成功
db.student.insert({'name':'貂蝉','age':16}) 成功
db.student.insert({'_id':1,'name':'貂蝉','age':16}) 成功
db.student.insert({'_id':1,'name':'甄宓','age':15}) 失败,因为_id=1已存在
db.student.save({'_id':1,'name':'甄宓','age':15}) 成功,新的文档替换掉旧文档,就像JAVA的Map操作一样。
remove
(1)删除所有文档
db.student.remove({});
(2)按条件删除
db.student.remove({'name':'貂蝉'})
update
db.student.update({'name':'貂蝉'},{$set:{'age':18}});
相当于关系型数据库的update student set age = 18 where name = '貂蝉';
query
select count(*) from student where name = '貂蝉'db.student.find({'age':{$lt:20}});
select * from student where age < 20db.student.find({'age':{$lte:20}});
select * from student where age < =20
db.student.find({'age':{$gt:20}});
select * from student where age > 20
db.student.find({'age':{$gte:20}});
select * from student where age >= 20
db.student.find({'name':{$in:['貂蝉','甄宓']}})
select * from student where name in ('貂蝉','甄宓')db.student.find({'name':/尚/})
select * from student where name like '%尚%'db.student.find({'name':/^孙尚/})
select * from student where name like '孙尚%'db.student.find({'name':/香^/})
select * from student where name like '%香'db.student.distinct('name')select distinct name from studentdb.student.find().sort({'age':-1})select * from student order by age desc db.student.find().sort({'age':1})
select * from student order by age asc
db.student.find().sort({'age':1},{'heigth':-1})
select * from student order by age asc , heigth descdb.student.findOne()select * from student limit 1db.student.find().skip(10).limit(20)
select * from student limit 10,20
0 0
- MongoDB学习02之语法小结
- MongoDB 语法使用小结
- OC 学习小结之点语法
- OC学习小结之copy语法
- MongoDB学习小结
- OC语法学习小结
- python 语法学习小结
- 黑马程序员-OC学习日记三之点语法小结
- mongodb入门之mongodb基本语法
- MongoDB 语法和mysql语法对比学习
- MongoDB 语法和mysql语法对比学习
- MongoDB 语法和mysql语法对比学习
- Python基本语法学习小结
- MongoDB小结02 - 配置、启动MongoDB
- mongodb学习笔记1,增删改语法
- mongodb学习——基本语法
- mongoDB学习笔记--shell基本语法(二)
- node学习篇——mongodb语法
- Java 8新特性: lambda
- win7 远程桌面连接
- 解析数据库生成XML文件及解析XML文件插入数据库
- An error has occurred.See the log file错误解决
- abstract class BaseAction
- MongoDB学习02之语法小结
- 李嘉诚:成功创业要具备的五个要素
- 【Java集合源码剖析】Vector源码剖析
- public void setReadOnly
- 21天学通Java学习笔记-Day04
- OSStatInit()
- NYOJ--759--你知道这个规律吗?
- 不需要persistentence的字段
- IOS开发学习资料