基础 :
查看当前都有哪些数据库
show dbs
查看当前数据库都有哪些表
show collections
增加数据 -- 往表名为xxx的数据库中添加/插入数据,数据格式为json格式
db.xxx.insert({'name','jscyl','ago':20})
删除数据
删除表中的某个数据
格式 : db.xx.remove({'xxx':xxx}) xx--表名 or xxx--条件
eg: db.jscyl.remove({'age':20})
如果要删除的条件有多条数据
db.xx.remove({'xxx',xxx},{justOne:true})
此时会默认删除相同条件的第一条数据
---------------------------------------------------------------------------------------
删除数据库中的某个表
格式 : db.xx.drop() xx--表名
eg: db.jscyl.drop()
---------------------------------------------------------------------------------------
删除当前数据库
法一 : 推荐
首先要进入当前数据库 use xx
然后再删除 db.dropDatabase()
法二: 不推荐
通过删除当前数据库中的表,如果将表全部删除则该当前数据库也会被删除
修改数据
格式 xx--表名 or xxx--要修改的字段 or xxxx--修改后的字段
db.xx.update({'xxx':xxx},{$set:{'xxxx':'xxxx'}})
eg: db.jscyl.update({'name':'zhangsan'},{$set:{'name':'jscyl'}})
如果要修改多个字段
db.jscyl.update({'name':'zhangsan'},{$set:{'name':'jscyl','age':20}})
查询数据 --精准查询(在实际中常用于后期查找出问题的数据)
查找所有数据 xx是表名
db.xx.find()
可根据xxx的条件进行查询 xxx是json格式
db.xx.find({xxx})
---------------------------------------------------------------------------------------
eg: 查询年纪 为20 的数据
db.xx.find({"age":20})
---------------------------------------------------------------------------------------
eg: 查询年纪 大于20 的数据
db.xx.find({"age":{$gt:20}})
---------------------------------------------------------------------------------------
eg: 查询年纪 小于20 的数据
db.xx.find({"age":{$lt:20}})
---------------------------------------------------------------------------------------
eg: 查询年纪 大于等于20 的数据
db.xx.find({"age":{$gte:20}})
---------------------------------------------------------------------------------------
eg: 查询年纪 小于等于20 的数据
db.xx.find({"age":{$lte:20}})
---------------------------------------------------------------------------------------
eg: 查询年纪 小于等于30并且大于等于20 的数据
db.xx.find({"age":{$gte:20,$lte:30}})
---------------------------------------------------------------------------------------
eg: 查询 年纪等于20并且姓名为张三 的数据
db.xx.find({"age":20,"name":"zhangsan"})
模糊查询 -- 查询大量数据
xx为表名 xxx为查询的条件
db.xx.find({"xxx":/xxx/});
---------------------------------------------------------------------------------------
eg: 查询表中带有 文章 的数据
格式 : db.xx.find({"xxx":/xxx/}) xx--表名 or xxx--条件
db.jscyl.find({"name":/文章/});
---------------------------------------------------------------------------------------
eg: 查询表中 以z开头 的数据
格式 : db.xx.find({"xxx":/^xxxx/}) xx--表名 or xxx--要查询的字段 or xxxx--该字段的条件
db.jscyl.find({"name":/^z/});
---------------------------------------------------------------------------------------
eg: 查询表中指定字段的数据 -- 查询表中的 name 字段
格式 : db.xx.find({},{xxx:1}) xx--表名 or xxx--条件
db.jscyl.find({},{name:1});
如果是多个指定的数据
db.jscyl.find({},{name:1,age:1});
---------------------------------------------------------------------------------------
eg: 查询表中指定字段的数据 -- 查询表中年纪大于10的学生的姓名的数据
其中 条件为 年纪大于10 指定的数据是学生的姓名
格式 : db.xx.find({xxx},{xxxx:1}) xx--表名 or xxx--条件 or xxxx-- 指定的数据
db.jscyl.find({'age':{$gt:20}},{name:1});
在实际场景中常用于 ajax接口返回页面指定的数据,而并非返回全部的数据,减轻服务器压力,方便渲染
---------------------------------------------------------------------------------------
eg: 升序(从小到大)
格式 db.xx.find({}).sort({'xxx':1}) xx--表名 or xxx--为要排序的字段
db.jscyl.find({}).sort({'age':1})
---------------------------------------------------------------------------------------
eg: 降序(从大到小)
格式 db.xx.find({}).sort({'xxx':-1}) xx--表名 or xxx--为要排序的字段
db.jscyl.find({}).sort({'age':-1})
---------------------------------------------------------------------------------------
eg: 查询前两条数据
格式 db.xx.find({}).limit(xxx) xx--表名 or xxx--条数
db.jscyl.find({}).limit(2)
在实际项目中常用于分页
---------------------------------------------------------------------------------------
eg: 跳过前两条查询第三条到第五条数据
格式 db.xx.find().skip(xxx).limit(xxxx) xx--表名 or xxx--跳过的条数 or xxxx--第几条到第几条的数据
db.jscyl.find().skip(2).limit(3)
在实际项目中常用于分页
第一页 db.jscyl.find().skip(0).limit(2)
第二页 db.jscyl.find().skip(2).limit(2)
第三页 db.jscyl.find().skip(4).limit(2)
第四页 db.jscyl.find().skip(6).limit(2)
...
---------------------------------------------------------------------------------------
eg: 查询年纪是20或者年纪是24的数据
格式 db.xx.find({$or:[{'xxx':xxx},{'xxx':xxx}]}) xx--表名 or xxx--条件
db.jscyl.find({$or:[{'age':20},{'age':24}]})
---------------------------------------------------------------------------------------
eg: 查询年纪是20并且姓名是张三的数据
格式 db.xx.find({'xxx':xxx,'xxx':xxx}) xx--表名 or xxx--条件
db.jscyl.find({'age':20,'name':'张三'})
---------------------------------------------------------------------------------------
eg: 查询第一条数据(多种方法)
格式 db.xx.findOne() --该方法是系统方法
db.jscyl.findOne()
---------------------------------------------------------------------------------------
eg: 查询总共有多少条数据
格式 db.xx.find().count()
db.jscyl.find().count()