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)刪除一條