a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

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

MongoDB增刪查改操作示例【基于JavaScript Shell】

2020-10-29 18:41:40
字體:
供稿:網(wǎng)友

本文實(shí)例講述了MongoDB增刪查改操作。分享給大家供大家參考,具體如下:

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ù)一次查詢只針對一個(gè)集合

比較查詢操作符:

比較操作符 對應(yīng) 參數(shù)
$eq和$ne =和!= {:{$eq:}}
$gt和$gte >和>= {:{$gt:}}
$lt和$lte <和<= {:{$lt:}}
$in和$nin 包含 和 不包含 {:{$in:[,]}}

例子:

/*find age >22*/db.user.find({"age":{$gt:22}})

邏輯查詢操作符:

邏輯操作符 對應(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對象轉(zhuǎn)換成javascript對象后,才可以通過$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=44db.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)只更新第一條

Remove操作:

db.person.remove({"name":"jack"})

希望本文所述對大家MongoDB數(shù)據(jù)庫程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲精品视频在线观看免费视频 | 日本一区二区免费在线 | 99视频免费 | 精品国产乱码久久久久久丨区2区 | 久久久久久久福利 | 亚州视频在线 | 日本三级网站在线观看 | 97成人超碰 | 日本成人一二三区 | 91视频免费观看 | 免费黄色小片 | 毛片在线视频 | 午夜在线小视频 | 国产成人精品免费视频 | 黄色a视频| 一区二区三区在线 | 亚洲高清在线观看 | 青青草视频免费观看 | 久久国产精品免费视频 | 黄色手机在线观看 | 久久r免费视频 | 亚洲精品久久久狠狠狠爱 | 国精产品一区二区三区黑人免费看 | 得得啪在线视频 | 久久99欧美 | 精品国产一区二区三区电影小说 | 国产视频一区二区三区四区 | 黑人巨大精品欧美一区二区三区 | 日韩国产欧美视频 | 蜜臀99久久精品久久久久久软件 | 日韩欧美一区二区三区视频 | 9999亚洲| 仙人掌旅馆在线观看 | 91精品国产综合久久久久 | 亚洲高清视频一区二区 | 国内久久精品 | 欧美wwwww | 天堂综合网 | 一区二区三区国产精品 | 欧美综合一区二区 | 九九久久久 |