1. 查看当前数据库的版本号:db.version()
2. 查看当前所在数据库:db 默认是test数据库
3. 查看当前数据库的连接地址:db.getMongo()
4. 查看所有数据库:show databases / show dbs
注:数据库中如果没有数据,不会显示
5. 切换数据库:use 数据库名
注:如果没有这个数据库,会先创建再切入 --- 数据库的隐式创建
6. 创建集合:db.createCollection(集合名)
7. 查看集合:show tables / show collections
8. 插入文档:
db.集合名.insert({k:v})
db.集合名.save({k:v})
注:如果想要插入多条数据,可以将对个对象放到一个数组中,例如:db.集合名.insert([{},{},……])
注:如果插入数据的集合不存在,会先创建再插入 --- 集合的隐式创建
9. 查询数据:db.集合名.find()
10. 查看当前数据库的状态:db.stats()
11. 删除集合:db.集合名.drop()
12. 删除当前所在的数据库:db.drop Database()
13. 修改数据/更新数据:db.集合名.update(query,update【,upsert,multi】)
query:必要参数,条件(小于:$lt,大于:$gt,等于:$eq,不等于:$ne,大于等于:$gte,小于等于:$lte)
update:必要参数,更新的数据
$set:设置值 $inc:增长值 $rename:重命名 $unset:删除
upsert:可选参数,是一个布尔值,作用:如果不存在update记录,是否插入更新的数据。
true:代表插入 false:代表不插入 默认值是false
multi:可选参数,是一个布尔值,作用:是否将查询出来的符合条件的数据,全部更新?
true:全部更新 false:更新第一条 默认值是false
14. 删除文档:db.集合名.remove(query[,justOne])
query:条件 必要参数
justOne:可选参数,代表是否只删除一条数据,是一个布尔值,默认是false
db.集合名.remove({}) 删除全部文档
db.集合名.remove({条件}) 删除全部符合条件的文档
db.集合名.remove({条件},true/false) 是否删除一条数据
15. 查询文档:find([query,projection])
db.集合名.find() 查询所有文档
db.集合名.find(query) 查询所有符合条件的文档
db.集合名.find(query,{k:0(不显示)/1(显示)})
注:find()方法查询时,查询出来的数据是一行显示的,可以使用pretty()将数据格式化输出
db.集合名.findOne([query,projection]) 只查询一条数据,返回的数据格式是格式化之后的形式
findOne()不能和pretty()结合使用
16. MongoDB中AND条件使用:多个条件以逗号形式隔开
Mysql:select * from 表 where xx and xx
MongoDB:db.集合名.find({k1:v1,k2:v2,……})
17. MongoDB中OR条件使用:使用$or
MySQL:select * from 表 where xx or xx
MongoDB:db.集合名.find({‘$or‘:[{‘k1‘:‘v1‘},{‘k2‘:‘v2‘},……]})
18. 查询某一列去重后的数据
MySQL:select distinct 字段 from 表
MongoDB:db.students.distinct(k)
19. MongoDB中的限制查询
MySQL:select * from 表 limit 2
MongoDB:db.集合名.find().limit(n) 查询前n条数据
20. MongoDB中的跳过方法:skip()
MongoDB:db.students.find().skip(n) 跳过前n条数据,从第n+1条开始查询
21. MongoDB的分页
MySQL:select * from 表 limit 2,3
MongoDB:db.students.find().skip(n).limit(m) 跳过前n条数据,从第n+1条开始查询,查询m条
22. MongoDB中的排序
MySQL:select * from 表 order by 字段 asc/desc
MongoDB:db.students.find().sort({‘k‘:1(正序)/-1(倒叙)})
23. MongoDB中的统计方法:
MySQL:select count(*) from 表
MongoDB:db.students.find().count()
24. MongoDB中的模糊查询:
MySQL:select * from 表 where 字段 like %xxx%
MongoDB:db.集合名.find({‘k‘:/xxx/})