麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

一文帶你了解MongoDB的增刪查改

2024-09-07 00:22:33
字體:
供稿:網(wǎng)友
      很多朋友可能對(duì)于MongoDB并不是很熟悉,因此這篇文章主要給大家介紹JavaScript Shell的MongoDB增刪查改操作,感興趣的朋友可以參考學(xué)習(xí),下面我們一起來看看。
 
       MongoDB自帶了一個(gè)JavaScript Shell,所以在其中使用js語法是可以的。
 
       Insert操作:
 
       單條插入
 
var single={"name":"mei","age":22}
db.user.insert(single);
 
       循環(huán)插入
 
var single={"name":"tinyphp","num":28,}
for(var i=0;i<5;i++){single.num=i;db.user.insert(single);}
 
       Find查詢操作:
 
db.集合名.find(query,fields,limit,skip)
 
       query,指明查詢條件,相當(dāng)于SQL中的where語句
       例子:
 
db.student.find({"name":"joe","age":{$lt:22}})
       fields用于字段映射,語法格式:{field:0}或{field:1}
 
       例子:
 
db.student.find({"age":{$lt:22},{"_id":0,"name":1}})
       表示查詢結(jié)果包含name字段,不包含_id字段
 
       limit限制查詢結(jié)果集的文檔數(shù)量,指定查詢返回結(jié)果數(shù)量的上限
 
       例子:
 
db.student.find({"name":"joe"},{"name":1,"age":1},5)
       skip跳過一定數(shù)量的結(jié)果,設(shè)置第一條返回文檔的偏移量
 
       例子:
 
db.student.find({"name":"joe"},{"name":1,"age":1},5,20)
       表示跳過前20條文檔
 
       排序:-1降序,1升序
 
db.user.findOne()
 
       注意事項(xiàng):MongoDB不支持多集合間的連接查詢,find函數(shù)一次查詢只針對(duì)一個(gè)集合
 
       比較查詢操作符:
 
比較操作符 對(duì)應(yīng) 參數(shù)
$eq和$ne =和!= { :{$eq: }}
$gt和$gte >和>= { :{$gt: }}
$lt和$lte <和<= { :{$lt: }}
$in和$nin 包含 和 不包含 { :{$in:[ , ]}}
 
       例子:
 
/*find age >22*/
db.user.find({"age":{$gt:22}})
 
       邏輯查詢操作符:
 
邏輯操作符 對(duì)應(yīng) 參數(shù)
$and 與 {$and:[{條件1},..,{條件N}]} db.user.find({$and:[{"name":"tinyphp","num":3}]}) 等同 db.user.find({"name":"tinyphp","num":3})
$or 或 {$or:[{條件1},..,{條件N}]}
$nor 非 {$nor:[{條件1},..,{條件N}]}
$not 取反 {field:{$not:{條件}}}
 
       元素操作符:
 
元素操作符 作用 如
$exists 按照字段是否存在來查詢文檔 {field:{$exists:布爾值}} db.user.find({"age":{$exists:true}}) 查詢存在age字段的文檔
$type 選擇字段值為指定BSON數(shù)據(jù)類型編號(hào)的文檔
 
       正則匹配
 
/* find name 開頭為j的*/
db.user.find({"name":/^j/})
 
       $where查詢
 
       可以結(jié)合javascript進(jìn)行查詢,當(dāng)javascript返回true時(shí),才返回當(dāng)前文檔
 
db.user.find({$where:function(){return this.name=='jack'}})
 
       查詢時(shí),$where操作符不能使用索引,每個(gè)文檔需要從BSON對(duì)象轉(zhuǎn)換成javascript對(duì)象后,才可以通過$where表達(dá)式運(yùn)行,因此比常規(guī)查詢要慢,一般要避免使用$where查詢。
 
       還可以存起來用:
 
var list=db.user.find();
 list.forEach(function(x){
print(x.name);
})
 
       Update操作:
 
       整體更新
 
var model=db.user.findOne({"name":"jack"})
model.age=44
db.user.update({"name":"jack"},model)
 
       局部更新
 
       $inc修改器
 
/*update bing age+30 */
db.user.update({"name":"bing"},{$inc:{"age":30}})
 
       $set修改器
 
/*update bing age=10 */
db.user.update({"name":"bing"},{$set:{"age":10}})
 
       update的true參數(shù)
 
       若update最后參數(shù)加true則修改條件不存在時(shí),自動(dòng)增加一條如:
 
db.user.update({"name":"Mark"},{$set:{"age":10}},true)
 
       會(huì)自動(dòng)增加一條記錄:name為mark,age為10。如果加了true,而且條件又滿足則會(huì)批量修改,不然就默認(rèn)只更新第一條。

(編輯:武林網(wǎng))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嫩呦国产一区二区三区av | 宅男噜噜噜66国产在线观看 | 国产在线精品一区二区不卡 | 国产精品jk白丝蜜臀av软件 | 国产成人在线综合 | 成人精品视频网站 | 国产精品成人一区二区三区吃奶 | 欧美性生交大片 | 久久精品国产99国产精品澳门 | 欧美一级黄色免费看 | av在线等 | 欧美日本中文字幕 | 免费观看一级淫片 | 免费观看黄视频 | 午夜男人在线观看 | 视频一区二区三区在线 | 99精品视频一区二区三区 | 国产午夜三级一区二区三桃花影视 | 精品一区二区三区欧美 | 毛片免费看的 | 羞羞的视频在线观看 | 欧美一区在线观看视频 | 黄视频网站免费在线观看 | 91精品国产一区二区三区四区在线 | 黄色大片网 | 久久骚| 亚洲一区国产二区 | 在线播放一级片 | 羞羞电影网 | 亚洲综合一区在线观看 | 成人精品久久久 | 曰本三级日本三级日本三级 | 久久久久一区二区三区 | 3344永久免费| 欧美精品久久久久久久多人混战 | 色视频欧美 | 亚洲欧美国产精品va在线观看 | 国产自在线 | 黄色特级| 久久精品日产第一区二区三区 | 国产成人在线视频 |