MongoDB中數據庫的操作(增刪改查)
1.查詢students集合,只返回一條數據。
db.students.findOne()
db.students.find().limit(1)
db.students.aggregate({$limit:1})
2.根據你查詢出來的記錄的結構,使用你自己的數據,構造一個文檔,并將這個文檔寫入students集合。
var myself = {
"name": "王小王-123",
"gender": 1,
"body": {
"height": 166,
"weight": 66
},
"phone": "1666666666",
"sno": 2019814,
"major": "應用數學",
"grade": 2019,
"class": 2,
"courses": [
{
"course": "分布式數據庫原理與應用",
"credit": 4,
"score": 99
}
]
}
db.students.insert(myself)
3.根據你自己的記錄數據,查詢比你長得高或者和你一樣高的學生記錄 ?(比較運算符)
var 我的身高 = 166
var 查詢條件 = {"body.height":{$gte:我的身高}}
db.students.find(查詢條件)
4.根據你自己的記錄數據,查詢體重和你相差不超過2kg的學生記錄
var 上限 = 66+2
var 下限 = 66-2
var 查詢條件 = {"body.weight":{$gte:下限,$lte:上限}}
db.students.find(查詢條件)
5.統計你所在專業的學生人數
db.students.count({major:"應用數學"})
6.列出所有課程的名稱
db.students.distinct("courses.course")
7.將你所在班級的所有同學標記為同班同學(增加一個新字段:{'關系':'同班同學'}) UPDATE操作
var 同班同學 = {"major":"應用數學","grade":2019,"class":2}
var 同班同學不包括我 = {"major":"應用數學","grade":2019,"class":2,"sno":{$ne:2019814}}
var 同班同學不包括我們 = {"major":"應用數學","grade":2019,"class":2,"sno":{$nin:[2019814,2019813]}}
db.students.find(同班同學)
var 添加字段 = {$set:{'關系':'同班同學'}}
db.students.updateMany(同班同學,添加字段)
db.students.find({'關系':'同班同學'})
8.找到你班上身高最高的3名同學,并刪除這些記錄
var 同班同學 = {"major":"應用數學","grade":2019,"class":2}
var 同班同學 = {'關系':'同班同學'} // 第7題的結果
var 找同班同學 = {$match:同班同學}
var 按身高從大到校排序 = {$sort:{"body.height":-1}}
var 取頭三個 = {$limit:3}
var res = db.students.aggregate([找同班同學,按身高從大到校排序,取頭三個])
db.students.delete({sno:{$in:[2016000242,2016000181,17059434737]}})
這樣的命令比較的不夠智能,所以我重寫了一個JavaScript代碼進行迭代刪除,不需要自己呆板的獲取前面三個數據的名稱,如下:
//首先找到你班上身高最高的3名同學:
var 查詢條件={"major": "應用數學","grade": 2019,"class": 2}
db.students.find(查詢條件).sort({'body.height':-1}).limit(3)
//循環刪除
var 查詢條件={"major": "應用數學","grade": 2019,"class": 2}
var 返回結果 =db.students.find(查詢條件,{_id:0,name:1}).sort({'body.height':-1}).limit(3)
for(var i=0; i<返回結果.length(); i++) {
db.students.remove(返回結果[i])
print(返回結果[i]);
};
//再次查詢,記錄已刪除
var 查詢條件={"major": "應用數學","grade": 2019,"class": 2}
db.students.find(查詢條件).sort({'body.height':-1}).limit(3)
每文一語
沒有一蹴而就的成功,只有默默堅持的漸進
MongoDB 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。