3、查找年龄大于等于20的并修改年龄为21(查找到的第一条)
3、查找money大于1000 或class为01 或者02 的(注:数字才有大小之分)
一、展示所有数据库
show dbs
二、查看当前数据库
db
三、查看当前数据库的所有集合
show tables
或者
show collections
四、使用数据库(若没有自动创建)
use test
五、插入数据(没有集合自动创建)
db.students.insert({"name":"tang"})
六、删除当前数据库
db.dropDatabase()
七、删除集合
db.students.drop()
八、更新数据
(一)语法介绍
update() 方法用于更新已存在的文档。语法格式如下:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern:可选,抛出异常的级别。
(二)实例
1、查找到字段更新整个文档
db.class.update({"name":"tang"}{"age":18})
2、查找仅更新本文档指定字段
db.class.update({"name":"ls"},{$set:{"age":18}})
3、查找年龄大于等于20的并修改年龄为21(查找到的第一条)
db.class.update({"age":{$gte:20}},{$set:{"age":21}})
4、查找到年龄大于等于20的修改年龄为23(全部)
db.class.update({"age":{$gte:20}},{$set:{"age":21}},false,true)
5、查询没有的是否插入
若没有,插入数据
db.class.update({"name":"lys"},{$set:{"age":21}},true,true)
若没有,不插入
db.class.update({"name":"lys"},{$set:{"age":21}},false,true)
九、查找数据
1、查找所有
返回所有文档
db.class2.find()
返回所有文档(去除id字段)
db.class2.find({},{_id:0})
返回一个文档
db.class2.findOne()
格式化展示
db.class2.find().pretty()
2、查找class为01 或02的
db.class2.find({$or:[{"class":"01"},{"class":"02"}]}).pretty()
3、查找money大于1000 或class为01 或者02 的(注:数字才有大小之分)
db.class2.find({$or:[{"class":"01"},{"class":"02"},{"money":{$gt:1000}}]}).pretty()
补充条件操作符:
$lte 大于等于
$lt 大于
$gte 小于等于
$gt 小于
$ne 不等于
$eq 等于
4、查找age大于18 且class为01 或者02 的
db.class2.find({"age":{$gt:18},$or:[{"class":"01"},{"class":"02"}]}).pretty()
5、查找返回指定个数文档
db.class.find({},{"title":1,_id:0}).limit(3)
6、跳过第一个文档
db.class.find({},{"title":1,_id:0}).limit(1).skip(1)
7、排序
降序排序
db.class.find({},{"title":1,_id:0}).sort({"like":-1})
升序排序
db.class.find({},{"title":1,_id:0}).sort({"like":1})
8、计数count
db.class.count()
9、聚合
按class分组并计数
db.class.aggregate([{$group : {_id : "$class", num_tutorial : {$sum : 1}}}])
补充表达式:
$sum 计算总和
$avg 求平均值
$min 获取集合中所有文档对应值得最小值
$max 获取集合中所有文档对应值得最大值
$first 根据资源文档的排序获取第一个文档数据
$last 根据资源文档的排序获取最后一个文档数据
九、删除文档
db.collection.remove(
<query>,
<justOne>
)
2.6版本以后的
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
- query :(可选)删除的文档的条件。
- justOne : (可选)如果设为 true 或 1,则只删除一个文档。
- writeConcern :(可选)抛出异常的级别。
db.class.remove(DELETION_CRITERIA,1)删除一条