实践出真知,大家动起手来,一起来happy。
基于docker进入mongodb:docker exec -it mongpdb bash
进入mongodb shell :mongo
查看所有的数据库 show dbs
删除当前库 db.dropDataBase()
查看当前所在库 db
切换数据库 use csk
创建集合 db.createCollection('wds')
db.wds.insert(document)
或
db.wds.save(document)
db.wds.find()
db.wds.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 :可选,抛出异常的级别。
**
multi : 可选,
mongodb 默认是false,
只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
查询指定的数据
db.wds.find({"item":"小学生教材"})
循环插入多条数据:for(var i =0;i<=1000;i++){db.wds.insert({“id”:i+1,“name”:“wds”+i,“age”:21+i})}
db.wds.find({“id”:801}).explain(“executionStats”)
MongoDB中的explain()函数可以帮助我们查看查询相关的信息,这有助于我们快速查找到搜索瓶颈进而解决它,本文我们就来看看explain()的一些用法及其查询结果的含义。
整体来说,explain()的用法和sort()、limit()用法差不多,不同的是explain()必须放在最后面。
explain() 也接收不同的参数,通过设置不同参数我们可以查看更详细的查询计划。
queryPlanner
:是默认参数,添加queryPlanner参数的查询结果就是我们上文看到的查询结果,so,这里不再赘述。
executionStats
:会返回最佳执行计划的一些统计信息
执行删除多条数据 for(var i=0;i<=950;i++){ db.wds.remove({"id":i})}
针对某个字段创建或者删除索引(关键字:
db.wds.ensureIndex
({“id”:xxx})------创建
db.wds.dropIndex
({“id”:xxx})------删除
)
条件语句:
MongoDB (>) 大于操作符 - $gt
MongoDB(>=)大于等于操作符 - $gte
MongoDB (<) 小于操作符 - $lt
MongoDB (<=) 小于等于操作符 - $lte
MongoDB 使用 (<) 和 (>) 查询 - $lt 和 $gt
MongoDB (!=) 大于操作符 - $ne
MongoDB sort() 方法---db.COLLECTION_NAME.find().sort({KEY:1})
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果,类似 SQL 语句中的 count(*)。
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
eg:db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])<====>select by_user, count(*) from mycol group by by_user