佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > MongoDB增刪查改操作示例【基于JavaScript Shell】

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

熱門標(biāo)簽:鐵路電話系統(tǒng) Linux服務(wù)器 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 百度競價(jià)排名 AI電銷 服務(wù)外包 呼叫中心市場需求

本文實(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;i5;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ù)類型編號的文檔

正則匹配

/* 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=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)

會自動(dòng)增加一條記錄:name為mark,age為10

如果加了true,而且條件又滿足則會批量修改,不然就默認(rèn)只更新第一條

Remove操作:

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

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

您可能感興趣的文章:
  • Java操作Mongodb數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的增刪查改功能示例
  • MongoDB入門教程之細(xì)說MongoDB數(shù)據(jù)庫的增刪查改操作
  • MongoDB中對文檔的增刪查改基本操作方法總結(jié)
  • mongodb數(shù)據(jù)庫實(shí)驗(yàn)之增刪查改

標(biāo)簽:湖南 湘潭 蘭州 崇左 衡水 仙桃 銅川 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB增刪查改操作示例【基于JavaScript Shell】》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    石楼县| 胶州市| 新乡市| 石景山区| 阜城县| 仙居县| 景德镇市| 永康市| 蛟河市| 宝鸡市| 昌邑市| 嘉义县| 丹江口市| 伊吾县| 宝山区| 腾冲县| 鸡泽县| 柘城县| 定日县| 通城县| 赫章县| 麦盖提县| 河津市| 来安县| 新宁县| 全州县| 油尖旺区| 阜新| 延长县| 宣汉县| 莲花县| 巴彦淖尔市| 承德市| 元阳县| 登封市| 时尚| 渝北区| 长汀县| 达日县| 高平市| 大埔县|