日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb学习笔记之增删改查作指令

發布時間:2024/8/23 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb学习笔记之增删改查作指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1: mongo入門命令

?

1.1: show dbs? 查看當前的數據庫

1.2 use databaseName 選庫

1.2 show tables/collections 查看當前庫下的collection

?

1.3 如何創建庫?

Mongodb的庫是隱式創建,你可以use 一個不存在的庫

然后在該庫下創建collection,即可創建庫

?

1.4 db.createCollection(‘collectionName’)?

創建collection

?

1.5 collection允許隱式創建

Db.collectionName.insert(document);

?

1.6 db.collectionName.drop() ,

刪除collection

?

1.7 db.dropDatabase();

刪除database

基本操作增刪改查

增: insert

介紹: mongodb存儲的是文檔,. 文檔是json格式的對象.

?

語法:db.collectionName.isnert(document);

?

1: 增加單篇文檔

Db.collectionName.insert({title:’nice day’});

?

2: 增加單個文檔,并指定_id

Db.collectionName.insert({_id:8,age:78,name:’lisi’});

?

3. 增加多個文檔

db.collectionName.insert(

[

{time:'friday',study:'mongodb'},

{_id:9,gender:'male',name:'QQ'}

]

)

?

?

刪:remove

語法:db.collection.remove(查詢表達式, 選項);

選項是指? {justOne:true/false},是否只刪一行, 默認為false

?

注意

1: 查詢表達式依然是個json對象

2: 查詢表達式匹配的行,將被刪掉.

3: 如果不寫查詢表達式,collections中的所有文檔將被刪掉.

?

例1:db.stu.remove({sn:’001’});

刪除stu表中 sn屬性值為’001’的文檔

?

例2: db.stu.remove({gender:’m’,true});

刪除stu表中gender屬性為m的文檔,只刪除1行.

改? update操作

改誰? --- 查詢表達式

改成什么樣? -- 新值 或 賦值表達式

操作選項 ----- 可選參數

?

語法:db.collection.update(查詢表達式,新值,選項);

例:

db.news.update({name:'QQ'},{name:'MSN'});

是指選中news表中,name值為QQ的文檔,并把其文檔值改為{name:’MSN’},

結果: 文檔中的其他列也不見了,改后只有_idname列了.

即--新文檔直接替換了舊文檔,而不是修改

?

如果是想修改文檔的某列,可以用$set關鍵字

db.collectionName.update(query,{$set:{name:’QQ’}})

?

修改時的賦值表達式

$set?修改某列的值

$unset 刪除某個列

$rename 重命名某個列

$inc 增長某個列

$setOnInsert 當upsert為true時,并且發生了insert操作時,可以補充的字段.

?

?

Option的作用:

{upsert:true/false,multi:true/false}

Upsert---是指沒有匹配的行,則直接插入該行.(和mysql中的replace一樣)

?

例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});

如果有name=’wuyong’的文檔,將被修改

如果沒有,將添加此新文檔

?

例:

db.news.update({_id:99},{x:123,y:234},{upsert:true});

沒有_id=99的文檔被修改,因此直接插入該文檔

?

multi: 是指修改多行(即使查詢表達式命中多行,默認也只改1行,如果想改多行,可以用此選項)

例:

db.news.update({age:21},{$set:{age:22}},{multi:true});

則把news中所有age=21的文檔,都修改

查: find,findOne

語法:db.collection.find(查詢表達式,查詢的列);

Db.collections.find(表達式,{列1:1,列2:1});

?

?

例1:db.stu.find()

查詢所有文檔 所有內容

?

例2:db.stu.find({},{gendre:1})

查詢所有文檔,的gender屬性 (_id屬性默認總是查出來)

?

例3:db.stu.find({},{gender:1, _id:0})

查詢所有文檔的gender屬性,且不查詢_id屬性

?

例3:db.stu.find({gender:’male’},{name:1,_id:0});

查詢所有gender屬性值為male的文檔中的name屬性




總結

以上是生活随笔為你收集整理的mongodb学习笔记之增删改查作指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。