1、操作MongoDB数据库
①、创建数据库
语法:use 数据库名
示例:use mydb
注意:如何数据库不存在则创建数据库,否则切换到指定的数据库
事项:如果刚刚创建的数据库不在表内,如果要显示它,我们需要向刚刚创建的数据库中插入一些数据
db.student.insert({name:"妲己", age:18, gender:0, address:"北京", isDelete:0})
db当前使用数据库
student表示在db数据库中有一个集合
insert()插入
②、查看所有数据库
show dbs
③、查看当前正在使用的数据库
db
db.getName()
④、删除数据库
前提:使用当前数据库(use 数据库名)
db.dropDatabase()
⑤、查看命令api
help
2、集合操作
①、查看当前数据库下有哪些集合
show collections
②、创建集合
方法1
语法:db.createCollection("集合名")
示例:db.createCollection("class")
方法2
语法:db.集合名.insert(文档)
document文档
示例:db.class.insert({name:"貂蝉", age:19, gender:0, address:"上海", isDelete:0})
区别:两者的区别在与前者创建的是一个空集合,后者创建一个空的集合并添加一个文档
③、删除当前数据库中的集合
语法:db.集合名.drop()
示例:db.class.drop()
3、文档操作
①、插入文档(相当于往集合里插入数据)
方法1:使用insert()方法插入文档
插入一条:
语法:db.集合名.insert(文档)
db.student.insert({name:"小乔", age:16, gender:0, address:"武汉", isDelete:0})
插入多条:
语法:db.集合名.insert([文档1], [文档2], [文档3], …)
db.student.insert([{name:"大乔", age:17, gender:0, address:"武汉", isDelete:0}, {name:"李白", age:18, gender:1, address:"上海", isDelete:0}, {name:"孙尚香", age:17, gender:0, address:"成都", isDelete:0}, {name:"公孙离", age:18, gender:0, address:"香港", isDelete:0}])
方法2:使用save方法插入文档
语法:db.集合名.save(文档)
说明:如果不指定_id字段,save()方法 类似于insert()方法。示例②如果指定_id字段,则会更新_id的字段的数据
示例①:
db.student.save({name:"诸葛亮", age:19, gender:1, address:"襄阳", isDelete:0})
示例②:
db.student.save({_id:ObjectId("5f2fa7651e97f7a90b898435"), name:"诸葛亮", age:20, gender:1, address:"襄阳2", isDelete:0})
②、文档更新
a、update()方法由于更新 已存在的文档
语法:
db.集合名.update(
query,
update,
{
upset:<boolean>,
mulit:<boolean>,
writeConcern:<document>
}
)
参数说明:
query:update的查询条件,类似sql里的update语句内where后面的内容
update:update的对象和一些更新的操作符($set, $inc)等。$set直接更新,$inc在原有的基础上累加后更新
upset:可选,如果不存在update的记录,是否当新数据插入。true为插入,false为不插入,默认为false
multi:可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就按照条件查找出来的数据全部更新
mriteConcern:可选,抛出异常的级别
需求:将小乔的年龄更新为15
示例:
db.student.update({name:"小乔"}, {$set:{age:15}})
累加:将小乔的年龄更新为16,$inc在原有的基础上累加后更新
db.student.update({name:"小乔"}, {$inc:{age:1}})
首先插入一条name:"诸葛亮"的数据
db.student.insert({name:"name", age:19, gender:1, address:"襄阳", isDelete:0})
全改:将name:“诸葛亮” 的age全改为18
db.student.update({name:"诸葛亮"}, {$set:{age:18}}, {multi:true})
b、save()方法通过传入的文档替换已有文档
语法:
db.集合名.save(
document,
{
writeConcern:<document>
}
)
参数说明:
document:文档数据
mriteConcern:可选,抛出异常的级别