MongoDB 增.刪.改.查

  • 1. 進(jìn)入my_test數(shù)據(jù)庫(kù)

use my_test;
show dbs; 
顯示當(dāng)前數(shù)據(jù)庫(kù)中的集合
show collections;
  • 2. 插入 / 添加 操作

1.插入兩個(gè)值
db.users.insert({
    username:"sunwukong"
});

db.users.insert({
    username:"zhubajie"
});


2.向名為sunwukong 的文檔,添加一個(gè)address屬性
db.users.update(
  {"username":"sunwukong"},
  {$set:{
     address:"huaguoshan"
  }}
)

3.向sunwukong中添加一個(gè)hobby:{cities,movies}
   向tangsanzang中添加一個(gè)hobby:{movies}

 db.users.update(
  {"username":"sunwukong"}, 
  {$set:{
     hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["movie1","movie2"]}
  }}
 )
 db.users.update(
  {"username":"tangsanzang"}, 
  {$set:{
     hobby:{movies:["movie1","movie2"]}
  }}
 )

4.向數(shù)組中添加一個(gè)小元素$push
db.users.update(
  {"username":"tangsanzang"}, 
  {$push:{
     "hobby.movies":"SuperMan"
  }}
 )
  • 3. 改變某個(gè)值

使用set可以達(dá)到替換和增加的作用unset可以刪除元素

1.使用tangsanzang替換zhubajie
db.users.update(
  {"username":"zhubajie"}, 
  {$set:{
     username:"tangsanzang"
  }}
 )
  • 4. 刪除操作

刪除地址,可以隨便填一個(gè)值

db.users.update(
  {username:"sunwukong"},
  {$unset:{
    address:1}}
 )
  • 5. 查詢操作

1.查詢user集合中的所有文檔
db.users.find();

2.統(tǒng)計(jì)數(shù)據(jù)庫(kù)user集合中的文檔數(shù)量
db.users.find().count()

3.查詢username為sunwukong的文檔
db.users.find({username:"sunwukong"})

4.查找內(nèi)嵌文檔的屬性
如果需要查詢內(nèi)嵌文檔則可以通過(guò).形式進(jìn)行匹配,
此時(shí)屬性名必須使用引號(hào)
db.users.find({"hobby.movies" : "movie1"});

image.png
  • 6. 其他操作

1.向某個(gè)集合中添加 100條數(shù)據(jù)
運(yùn)用數(shù)組直接插入的方法,可以極大降低運(yùn)行時(shí)間,一般可以降到1秒以內(nèi)

var arr = [];
 for(var i=1000 ; i<=1100 ; i++){
   arr.push({num:i})
 }
 db.number.insert(arr);
DBQuery.shellBatchSize= 100;
 db.number.find()

2.查找特定區(qū)間的文檔

  • 查詢number中num為1060的文檔
db.number.find({num:1060});
  • 查詢大于1060 的文檔
db.number.find({num:{$gt:1060}});
  • 查詢小于1050的文檔
db.number.find({num:{$lt:1050}});
  • 大于1050,小于1060
db.number.find({num:{$gt:1050 , $lt:1060}});

顯示前十個(gè)數(shù)據(jù),這里引入limit 和 skip
顯示第10-20;使用分頁(yè) 每頁(yè)顯示10條

公式

skip(( 頁(yè)碼-1 )* 每頁(yè)顯示的條數(shù)).limit (每頁(yè)顯示的條數(shù)));

10-20,從第10個(gè)數(shù)起步,往后排10個(gè)

db.number.find().skip(10).limit(10);

20-30,從第20個(gè)數(shù)起步,往后排15個(gè)

db.number.find().skip(20).limit(15);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容