免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

MongoDB之?dāng)?shù)據(jù)更新(修改器)-創(chuàng)新互聯(lián)

對(duì)M

成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:茶藝設(shè)計(jì)等企業(yè),備受客戶表揚(yáng)。ongoDB數(shù)據(jù)庫而言,數(shù)據(jù)的修改會(huì)牽扯到內(nèi)容的變更,結(jié)構(gòu)的變更(包含有數(shù)組)。所以在進(jìn)行MongoDB設(shè)計(jì)的時(shí)候就提供有一系列修改器的應(yīng)用。之前使用的“$set”就是一個(gè)修改器。
1、$inc:主要針對(duì)于一個(gè)數(shù)字字段,增加某個(gè)數(shù)字字段的數(shù)據(jù)內(nèi)容:
語法:{"$inc":{"成員":"內(nèi)容"}}
范例:將年齡為30歲的一個(gè)員工的薪水一律1000,年齡加1歲
> db.emp.update({"age":30},{"$inc":{"sal":-1000,"age":1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"age":31}).pretty();
{
        "_id" : ObjectId("599108423268c8e84253be26"),
        "name" : "趙一",
        "sex" : "男",
        "age" : 31,
        "sal" : 8999,
        "loc" : "北京"
}
2、$set:進(jìn)行內(nèi)容的重新設(shè)置:
語法:{"$set":{"成員":"新內(nèi)容"}}
范例:將年齡是30歲的某個(gè)人員的薪水修改為7999
> db.emp.update({"age":30},{"$set":{"sal":7999}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"age":30}).pretty();
{
        "_id" : ObjectId("599108423268c8e84253be29"),
        "name" : "李四",
        "sex" : "女",
        "age" : 30,
        "sal" : 7999,
        "loc" : "北京"
}
3、$unset:刪除某個(gè)成員的內(nèi)容:
語法:{"$unset":{"成員":1}}
范例:刪除“孫三”的年齡和薪水信息
> db.emp.find({"name":"孫三"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "age" : 40,
        "sal" : 2000,
        "loc" : "深圳"
}
> db.emp.update({"name":"孫三"},{"$unset":{"age":1,"sal":1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"孫三"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "loc" : "深圳"
}
4、$push:相當(dāng)于將內(nèi)容追加到指定的成員之中(基本上是數(shù)組):
語法:{"$push":{"成員":value}}
范例:向“孫三”添加2門課程信息(此時(shí)孫三信息下沒有course信息)
> db.emp.update({"name":"孫三"},{"$push":{"course":["語文","數(shù)學(xué)"]}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"孫三"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "loc" : "深圳",
        "course" : [
                [
                        "語文",
                        "數(shù)學(xué)"
                ]
        ]
}
范例:向“李四”添加一門課程信息(此時(shí)李四信息下沒有course信息)
> db.emp.update({"name":"李四"},{"$push":{"course":"語文"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"李四"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be29"),
        "name" : "李四",
        "sex" : "女",
        "age" : 30,
        "sal" : 7999,
        "loc" : "北京",
        "course" : [
                "語文"
        ]
}
范例:向“劉A”的課程追加一個(gè)“美術(shù)”
> db.emp.find({"name":"劉A"}).pretty()
{
        "_id" : ObjectId("599129a00184ff511bf02b87"),
        "name" : "劉A",
        "sex" : "男",
        "age" : 35,
        "sal" : 8000,
        "loc" : "北京",
        "course" : [
                "語文",
                "數(shù)學(xué)",
                "英語",
                "音樂",
                "政治"
        ]
}
> db.emp.update({"name":"劉A"},{"$push":{"course":"美術(shù)"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"劉A"}).pretty()
{
        "_id" : ObjectId("599129a00184ff511bf02b87"),
        "name" : "劉A",
        "sex" : "男",
        "age" : 35,
        "sal" : 8000,
        "loc" : "北京",
        "course" : [
                "語文",
                "數(shù)學(xué)",
                "英語",
                "音樂",
                "政治",
                "美術(shù)"
        ]
}
就是進(jìn)行數(shù)組數(shù)據(jù)的添加操作使用的。如果沒有數(shù)組則進(jìn)行新的數(shù)組的創(chuàng)建,如果有則進(jìn)行內(nèi)容的增加。
5、$pushAll:與“$push”是類似的,可以一次追加多個(gè)內(nèi)容到數(shù)組里面:
語法:{"$pushAll":{"成員":數(shù)組內(nèi)容}}
范例:向"周五"里面添加多個(gè)課程內(nèi)容
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京"
}
> db.emp.update({"name":"周五"},{"$pushAll":{"course":["美術(shù)","音樂"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京",
        "course" : [
                "美術(shù)",
                "音樂"
        ]
}
6、$addToSet:向數(shù)組里面增加一個(gè)新的內(nèi)容,只有這個(gè)內(nèi)容不存在的時(shí)候才會(huì)增加
語法:{"$addToSet":{成員:內(nèi)容}}
范例:向“周五”的信息增加新的內(nèi)容
> db.emp.update({"name":"周五"},{"$addToSet":{"course":"舞蹈"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京",
        "course" : [
                "美術(shù)",
                "音樂",
                "舞蹈"
        ]
}
此時(shí)會(huì)判斷要增加的內(nèi)容在數(shù)組里面是否存在,如果不存在則向數(shù)組之中追加內(nèi)容,如果存在則不做任何修改操作。
7、$pop:刪除數(shù)組內(nèi)的數(shù)據(jù)
語法:{"$pop":{成員:內(nèi)容}},內(nèi)容如果設(shè)置為-1表示刪除第一個(gè),如果內(nèi)容設(shè)置為1表示刪除最后一個(gè)
范例:刪除周五的第一個(gè)課程
> db.emp.update({"name":"周五"},{"$pop":{"course":-1}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京",
        "course" : [
                "音樂",
                "舞蹈"
        ]
}
范例:刪除周五的最后一個(gè)課程
> db.emp.update({"name":"周五"},{"$pop":{"course":1}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京",
        "course" : [
                "音樂"
        ]
}
8、$pull:從數(shù)組內(nèi)刪除一個(gè)指定內(nèi)容的數(shù)據(jù)
語法:{"$pull":{成員:數(shù)據(jù)}},進(jìn)行數(shù)據(jù)比對(duì)的,如果是此數(shù)據(jù)是刪除
范例:刪除王五的音樂課程信息
> db.emp.update({"name":"周五"},{"$pull":{"course":"音樂"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"周五"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京",
        "course" : [ ]
}
9、$pullAll:一次性刪除多個(gè)內(nèi)容
語法:{"$pullAll":{成員:[數(shù)據(jù),數(shù)據(jù),...]}}
范例:刪除“劉A”中的三門課程
> db.emp.find({"name":"劉A"}).pretty()
{
        "_id" : ObjectId("599129a00184ff511bf02b87"),
        "name" : "劉A",
        "sex" : "男",
        "age" : 35,
        "sal" : 8000,
        "loc" : "北京",
        "course" : [
                "語文",
                "數(shù)學(xué)",
                "英語",
                "音樂",
                "政治",
                "美術(shù)"
        ]
}
> db.emp.update({"name":"劉A"},{"$pullAll":{"course":["語文","數(shù)學(xué)","英語"]}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"name":"劉A"}).pretty()
{
        "_id" : ObjectId("599129a00184ff511bf02b87"),
        "name" : "劉A",
        "sex" : "男",
        "age" : 35,
        "sal" : 8000,
        "loc" : "北京",
        "course" : [
                "音樂",
                "政治",
                "美術(shù)"
        ]
}
10、$rename:為成員名稱重命名
語法:{"$rename":{舊的成員名稱:新的成員名稱}}
范例:將“孫三”的name成員名稱修改為“姓名”
> db.emp.find({"name":"孫三"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "loc" : "深圳",
        "course" : [
                [
                        "語文",
                        "數(shù)學(xué)"
                ]
        ]
}
> db.emp.update({"name":"孫三"},{"$rename":{"name":"姓名"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"姓名":"孫三"}).pretty()
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "sex" : "男",
        "loc" : "深圳",
        "course" : [
                [
                        "語文",
                        "數(shù)學(xué)"
                ]
        ],
        "姓名" : "孫三"
}
在整個(gè)MongoDB數(shù)據(jù)庫里面,提供的修改器的支持很全面。

新聞名稱:MongoDB之?dāng)?shù)據(jù)更新(修改器)-創(chuàng)新互聯(lián)
本文來源:http://newbst.com/article30/dggjso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)網(wǎng)站導(dǎo)航自適應(yīng)網(wǎng)站品牌網(wǎng)站建設(shè)小程序開發(fā)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名