前言(介绍一些会用到的其他命令)
1,查看当前数据库名: db
2,查看所有数据库 : show dbs
3,清除控制台:cls
4,查看所有集合:show Collections
一,数据库操作
1,新建数据库
- 控制台输入 mangosh 进入mangodb
- 输入 use DATABASE_NAME
【如果数据库不存在,则创建数据库,否则切换到指定数据库。】
2,删除数据库
-
首先使用 use DATABASE_NAME 切换到想要删除的数据库
-
输入 db.dropDatabase() 删除当前数据库
3,修改数据库名[不可用]
【在 MongoDB 中,没有直接的方法可以使用,只能先将数据库复制一份为新的数据库名,然后再将原数据库删除。】
-
这里演示 将 NewTest 改为 test
-
NewTest> db.copyDatabase(‘NewTest’,‘NewDB’)
MongoshDeprecatedError: [COMMON-10003]copyDatabase()
was removed because it was deprecated in MongoDB 4.0【报错】 -
db.dropDatabase()
-
use NewDB
二,集合操作
1,新建集合:db.createCollection(集合名)
- 输入:db.createCollection(name)
- 输入:show collections 或 show tables
1.1,第二种创建集合方式:db.集合名.insert({文档})
【在 MongoDB 中,不需要创建集合。当在插入一些文档时,MongoDB 会自动创建集合。】
- 输入:db.con2.insert({‘_id’:1,‘name’:‘cat’})
2,删除集合:db.集合名.drop()
- 输入:db.con2.drop() 删除指定集合
- 输入:show Collections 查看所有集合
3,集合重命名:db.旧的集合名.renameCollection(“新的集合名”)
- 输入:db.con2.renameCollection(“con”)
- 输入:show Collections 查看所有集合
三,文档操作
1,查找文档:db.集合名.find(条件)
-
无条件时:db.con.find()【等于查看当前集合下所有文档】
-
有条件查询:db.con.find({_id:2})
1.1,查询结果格式化:db.集合名.find().pretty()
- 格式化:db.con.find().pretty()
1.2,比较运算符(=、<、<=、>、>=、!=)
-
等于 ( = ) :默认是等于判断,没有运算符
-
小于 ( < ) :$It
查找_id小于4的文档:db.con.find({‘_id’:{$lt:4}})
-
小于等于 ( <= ):$lte
-
大于 ( > ) :$gt
-
大于等于 ( >= ):$gte
-
不等于 ( != ):$ne
查询_id不为2,4的文档
1.3,范围查询(in、nin)
- 在 “ [ ] ” 中的文档: $in:[ 数组]
- 不在 “ [ ] ” 中的文档: $nin:[ 数组]
1.4,逻辑运算符(and、or)
- and : 在json中写多个条件即可
- or:使用$or,值为数组,数组中每个元素为json
查找_id大于5,或name为cat的文档
1.5,区间查询(limit、skip)
- 用于读取指定数量的文档:db.集合名称.find().limit(数量)
- 用于跳过指定数量的文:db.集合名称.find().limit(数量)
查询前两条文档 、 跳过前4条文档
1.6,排序:db.集合名.find().sort({字段:1})
- 参数1为升序排列
- 参数-1为降序排列
2,插入文档:db.集合名.insert(文档)
- 输入:
- db.con.insert([{‘_id’:5,‘name’:‘cat5’},{‘_id’:6,‘name’:‘cat6’}])
- 【这里同时插入了两条数据】
3,删除文档:db.集合名.remove(条件,{justOne: 1})
- 条件:可选,删除的文档的条件
- justOne:可选,如果设为true或1,则只删除一条,默认false,表示删除多条。
删除name为cat2的文档:db.con.remove(‘name’:‘cat2’)
4,更新文档:db.集合名.update(条件,{$set:更新后数据},{multi:1})
- 条件:查询条件
- 更新后数据:更新操作符
- multi:可选,默认是false,表示只更新找到的第一条记录,值为true表示把满足条件的文档全部更新。
将_id为1的文档 { _id: 1, name: ‘cat’ },修改为{ _id: 1, name: ‘cat1’ }