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’},
結果: 文檔中的其他列也不見了,改后只有_id和name列了.
即--新文檔直接替換了舊文檔,而不是修改
?
如果是想修改文檔的某列,可以用$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学习笔记之增删改查作指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中有关文件流的操作
- 下一篇: PS里建立工作路径对话框中的“容差”是干