基本的数据库介绍
在MongoDB中也要先建立数据库,不过MongoDB中没有数据表的概念,只有集合的概念,集合就相当于数据表的概念。
数据库的基础命令
//查看当前的数据库
db
// 查看所有的数据库
show databases
show dbs
// 切换和创建数据库(在切换数据库的时候同时创建了数据库)
use 数据库的名称
// 删除当前的数据库
db.dropDatabase()
集合的基础命令
- 创建集合
在你第一次向集合中添加数据的时候,集合会被自动创建。你也可以手动创建:
db.createCollection(name,options)
db.createCollection("test0619",{capped:true,size:10})
参数capped:默认值为false表示不设置上限,值为true表示设置上限
参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节
- 查看集合
show collections
- 删除集合
db.集合名称.drop()
数据库的简单增删改查
- 数据的插入
db.集合名称.insert(document)
// 指定id
db.test0619.insert({_id:"10000",name:"王二",gender:true})
// 文档分配id
db.test0619.isnert({name:"张三",gender:true})
注:插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjetcId。
当插入的文档id相同时,会出现增加记录错误。
- 数据的保存
db.集合名称.save(document)
db.test0619.save({_id:"10000",name:"王二",gender:true})
注:如果文档的_id已经存在,使用save命令就是修改,如果文档的_id不存在就是添加。
- 数据的查询
db.test0619.find()
- 数据的更新
db.集合名称.update(<query>,<update>,{multi:<boolean>})
参数说明:
query:查询的条件
update:更新的内容
multi:可选,默认是flase,表示只更新一条记录,值为true时,将所有满足条件的记录全部更新
// 下面的语句的更新会将整个记录替换
db.test0619.update({name:"王二"},{name:"王二三"})
// 增加$set后,只会更新指定的字段
db.test0619.update({name:"王二"},{$set:{name:"王二三"}})
// multi参数一定要和$set一起使用
db.test0619.update({},{$set:{name:"胡八一"},{multi:true}})
- 数据的删除
db.集合名称.remove({<query>,{justOne:<boolean>}})
// 删除多条满足条件的记录
db.test0619.remove({name:"王二三"})
// 只删除一条满足条件的记录
db.test0619.remove({name:"王二三"},{justOne:true})
参数说明:
query:删除条件
justOne:可选,为true时,只删除一条,默认flase,表示删除满足条件的多条。