一、操作MongoDB数据库
1、创建数据库
语法:ues
注意:如果数据库不存在则再创建数据库,否则切换到指定的
数据库!如果刚刚创建的数据不在列表中,如果需要显示这个数
据库,那么需要在刚刚创建的数据库中插入一些数据(db.student.
insert({name:"Tom",age:22,gender:1,address:"北京",
isDelete:0}))
2、查看数据库
语法:show dbs
3、查看当前正在使用的数据库
a. db
b. db.getName() #mongoDB区分大小写
4、断开连接
exit
5、查看命令api
help
6、删除数据库
前提:使用当前数据库(use 数据库名)
db.dropDatabase()
二、集合操作
1、查看当前数据库下有哪些集合
show collections
2、创建集合
a.
语法:db.createCollection("集合名")
示例:db.createCollection("class")
b.
语法:db.集合名.insert(document)
示例:db.集合名.insert({name:"Tom",age:22,gender:1,
address:"北京",isDelete:0})
对比:两者的区别在于前者创建的是一个空的集合,后者
创建一个空的集合并添加一个文档
3、删除当前数据库中的集合
语法:db.集合名.drop()
示例:db.class.drop()
三、文档操作
1、插入文档
a.使用insert()方法插入多条文档
语法:db.集合名.insert([文档1,文档2,文档3...])
示例:db.class.insert([{name:"Tom",age:22,gender:1,
address:"北京",isDelete:0},{name:"kaka",age:22,gender:1,
address:"北京",isDelete:0},{name:"hua",age:22,gender:0,
address:"北京",isDelete:0}])
b.使用save()方法插入文档
语法:db.集合名.save(文档)
说明:若果不指定_id字段,save()方法类似于insert()方法,
如果指定_id字段,则会更新_id字段的数据
示例1:db.student.save({{name:"khan",age:22,gender:1,
address:"北京",isDelete:0}})
示例2:db.student.save({_id:objectId("id值")},{name:"khan",
age:23,gender:1,address:"北京",isDelete:0})
2、文档更新
a.update()方法用于更新已存在的文档
语法:
db.集合名.update(
<query>,
<update>,
{
upset:<boolean>,
multi:<boolean>,
writeConcern:<document>
})
参数说明:
query:update的查询条件,类似于sql里update语句内where后面
的内容
update:update的对象和一些更新的操作符($set,$inc)等,$set
直接更新,$inc在原有的基础上累加后更新
upset:可选的参数,如果不存在update的记录,是否有新数据插入,
true为插入,false为不插入,默认为false
multi:可选,mongoDB默认是false,只更新找到的第一条记录,如果
为true,就按照查找出来的数据全部更新
writeConcern:可选,抛出异常的级别
需求:将khan的年龄更新为25
示例:db.student.update({name:"khan"},{$set:{age:25}})
# $inc:累加年龄
db.student.update({name:"khan"},{$inc:{age:25}})
# 同名人的年龄全改为18
db.student.update({name:"kaka"},{$set:{age:18}},
{multi:true})
b.save()方法通过传入的文档替换已有文档
语法:
db.集合名,save(
document,
{
writeConcern:<document>
})
参数说明:
document:文档数据
writeConcern:可选,抛出异常的级别
3.文档删除
说明:在执行remove()函数前,先执行find()命令来判断执行
的条件是否存在
语法:
db.集合名.remove(
query,
{
justOne:<boolean>
writeConcern:<document>
})
参数说明:
query:可选,删除文档的条件
justOne:可选,如果为true或1,则只剩一个文档
4.文档查询