教程地址:https://www.bilibili.com/video/av19956343
mongodb数据库基本操作:
'''
在安装的mongodb数据服务的bin目录下进行以下操作:
1、mongod.exe --dbpath='目录'#会在该目录下面生成一个mogodb数据库
2、mongo.exe #连接数据库
一、操作数据库:
1、创建数据库:
use 自定义数据库名
说明:在使用了use之后如果查看所有数据库,并不会显示自己新创建的数据库。
需要向里面插入数据以后才可以显示。
2、显示所有数据库:
show dbs
3、查看当前正在使用的数据库:
db.getName()
4、断开连接:
exit
5、查看命令帮助
help
6、删除数据库:
db.dropDatabase()
二、操作集合:
1、查看所有集合
show collections
2、创建集合:
a、
db.createCollection('集合名')
b、
db.集合名.insert(文档)
文档格式:{name:"sunck",age:18,genger:1}
3、删除集合:
db.集合名.drop()
三、操作文档:
1、插入文档:
a、使用insert()插入文档:
db.集合名.insert(文档)
b、save插入文档:
db.集合名.save(文档)
说明:如果不指定_id字段save与insert方法类似,如果指定_id就会只更新该字段。
2、文档更新:
a、update更新
db.集合名.update(
<query>,
<update>,
{
upset:<boolean>,
multi:<boolean>,
writeConcern:<document>
}
)
参数说明:
query:update的查询条件,正常写的时候没有<>,类似于sql里面的update语句内的where后面的内容
update:updte的对象和一些更新的操作符,($set,$inc)等,$set直接更新,$inc在原有的基础上累加后更新,
upset:是可选的,如果不存在update的记录,是否当新数据插入进来,true为输入,False为不插入,默认为False
multi:可选,mongodb默认是false,只更新一个找到的第一条记录,如果这个参数为true,就按照条件查找出来的数据全部更新。
writeConcern:是可选的,抛出异常的级别,
b、save更新
语法:
db.集合名.save(
<document>,
{
writeConcern:<document>
}
)
参数说明:
document:文档数据
writeConcern:是可选的,抛出异常的级别。
3、文档删除
说明:在执行remove()函数前,先执行fin()命令来判断执行的条件是否存在是一个良好的习惯。
语法:db.集合名.remove(
query,
{
justOne:<boolean>
writeConcern:<document>
}
)
参数说明:
query:可选,删除文档的条件
justOne:可选,如果为true或者1,只删除一个文档
4、文档查询
1、find()方法:
查询机和下面所有的数据
语法:db.集合名.find()
2、find()方法查询指定
语法:db.集合名.find(
query,
{
<key>:1,
<key>:1
}
)
参数说明:
query:查询条件
key:要显示的字段,1表示显示
示例:
3、pretty()以格式化的方式显示文档
示例:db.student.find().pretty()
4、findOne()方法查询匹配结果的第一条数据。
示例:db.student.findOne({fender:0})
5、查询条件操作符
作用:用于比较两个表达式并从mongodb集合中获取数据
1、大于 -$gt
语法:db.集合名.find({<key>:{$gt:<value>}})
2、大于等于 -$gte
语法:db.集合名.find({<key>:{$gte:<value>}})
3、小于 -$lt
语法:db.集合名.find({<key>:{$lt:<value>}})
4、小于等于 -$lte
语法:db.集合名.find({<key>:{$lte:<value>}})
5、大于等于和小于等于 -$gte 和 $lte
语法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}})
6、等于 -:
语法:db.集合名.find({<key>:<value>})
7、使用_id进行查询
语法:
示例:db.student.find({"_id":ObjectId("id值")})
8、使用某个字段结果集的数据条数
语法:db.student.find().count()
9、查询摸个字段的值当中时候包含一个值
语法:
示例:db.student.find({name:/ile/})
10、查询某个字段的值是否以另一个值开头
语法:
示例:db.student.find({name:/^ile/})
6、条件查询and 和 or
a、and 条件的使用
语法:db.集合名.find({条件一,条件二,条件n})
示例:db.student.find({gender:0,age:{$gt:16}})
b、or 条件的使用
语法:db.集合名.find(
{
$or:[条件一,条件二,...条件N]
}
)
示例:db.student.find({$or:[{age:17},{age:{$gte:20}}]})
c、and 和or 联合使用
语法:
db.集合名.find({条件1,条件2,$or:[{条件3},{条件4}]})
7、limit、skip
1、limit():读取指定数量的数据记录
db.student.find().limit(2)#看两条数据
2、skip():跳过指定的数量的数据
db.student.find().skip(5)#跳过三条
3、skip与limit联合使用
通常用这种方式来实现分页公能
示例:db.student.find().skip(3).limit(3)
8、排序
语法:db.集合名.find().sort({<key>:1|-1})
需求:
示例:
db.student.find().sort({age:1})升序排列
说明:1表示升序,-1表示降序
'''