bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

MongoDB中怎么實(shí)現(xiàn)一個(gè)更新函數(shù)

MongoDB中怎么實(shí)現(xiàn)一個(gè)更新函數(shù),很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

始興網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),始興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為始興上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的始興做網(wǎng)站的公司定做!


在MongoDB里面對(duì)于數(shù)據(jù)的更新操作提供了兩類函數(shù):save()、update()

如果要修改數(shù)據(jù)最直接的使用函數(shù)就是update()函數(shù),但是這個(gè)函數(shù)的語(yǔ)法要求很麻煩。
語(yǔ)法:db.集合.update(更新條件,新的對(duì)象數(shù)據(jù)(更新操作符),upsert,multl)
  ● upsert:如果要更新的數(shù)據(jù)不存在,則增加一條新的內(nèi)容(true為增加,false為不增加)。
  ● multi:表示是否只更新滿足條件的第一行記錄,如果設(shè)置為false,只更新第一條,如果設(shè)置為true全更新。

范例:更新存在的數(shù)據(jù)---將年齡是30歲的薪水更新為8000(此時(shí)會(huì)返回多條數(shù)據(jù))
只更新第一條數(shù)據(jù):
> db.emp.find().skip(0).limit(5).sort({"$natural":1}).pretty();
{
        "_id" : ObjectId("599108423268c8e84253be26"),
        "name" : "趙一",
        "sex" : "男",
        "age" : 30,
        "sal" : 1000,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be27"),
        "name" : "錢二",
        "sex" : "女",
        "age" : 22,
        "sal" : 5000,
        "loc" : "上海"
}
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "age" : 40,
        "sal" : 2000,
        "loc" : "深圳"
}
{
        "_id" : ObjectId("599108423268c8e84253be29"),
        "name" : "李四",
        "sex" : "女",
        "age" : 30,
        "sal" : 7000,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 6400,
        "loc" : "北京"
}


> db.emp.update({"age":30},{"$set":{"sal":9999}},false,false);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.emp.find().skip(0).limit(5).sort({"$natural":1}).pretty();
{
        "_id" : ObjectId("599108423268c8e84253be26"),
        "name" : "趙一",
        "sex" : "男",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be27"),
        "name" : "錢二",
        "sex" : "女",
        "age" : 22,
        "sal" : 5000,
        "loc" : "上海"
}
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "age" : 40,
        "sal" : 2000,
        "loc" : "深圳"
}
{
        "_id" : ObjectId("599108423268c8e84253be29"),
        "name" : "李四",
        "sex" : "女",
        "age" : 30,
        "sal" : 7000,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 6400,
        "loc" : "北京"
}

所有滿足條件的數(shù)據(jù)都更新:
> db.emp.update({"age":30},{"$set":{"sal":9999}},false,true);
WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 4 })
> db.emp.find().skip(0).limit(5).sort({"$natural":1}).pretty();
{
        "_id" : ObjectId("599108423268c8e84253be26"),
        "name" : "趙一",
        "sex" : "男",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be27"),
        "name" : "錢二",
        "sex" : "女",
        "age" : 22,
        "sal" : 5000,
        "loc" : "上海"
}
{
        "_id" : ObjectId("599108423268c8e84253be28"),
        "name" : "孫三",
        "sex" : "男",
        "age" : 40,
        "sal" : 2000,
        "loc" : "深圳"
}
{
        "_id" : ObjectId("599108423268c8e84253be29"),
        "name" : "李四",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京"
}
{
        "_id" : ObjectId("599108423268c8e84253be2a"),
        "name" : "周五",
        "sex" : "女",
        "age" : 30,
        "sal" : 9999,
        "loc" : "北京"
}

范例:更新不存在的數(shù)據(jù)
> db.emp.update({"age":55},{"$set":{"name":"不存在"}},true,false);
WriteResult({
        "nMatched" : 0,
        "nUpserted" : 1,
        "nModified" : 0,
        "_id" : ObjectId("5991629aca6455d4a46870f6")
})
> db.emp.find({"age":55}).pretty();
{ "_id" : ObjectId("5991629aca6455d4a46870f6"), "age" : 55, "name" : "不存在" }

此時(shí)相當(dāng)于進(jìn)行了數(shù)據(jù)的創(chuàng)建。
那么除了update()之外,還提供了一個(gè)save()函數(shù),這個(gè)函數(shù)的功能與更新不存在的內(nèi)容相似。

范例:使用save()操作
> db.emp.find({"age":55}).pretty();
{ "_id" : ObjectId("5991629aca6455d4a46870f6"), "age" : 55, "name" : "不存在" }
> db.emp.save({"_id" : ObjectId("5991629aca6455d4a46870f6"),"age":56});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"age":56}).pretty();
{ "_id" : ObjectId("5991629aca6455d4a46870f6"), "age" : 56 }
> db.emp.save({"_id" : ObjectId("5991629aca6455d4a46870f6"),"age":56,"name":"stone"});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.emp.find({"age":56}).pretty();
{
        "_id" : ObjectId("5991629aca6455d4a46870f6"),
        "age" : 56,
        "name" : "stone"
}

使用save,只會(huì)保留在save中出現(xiàn)的字段。如果數(shù)據(jù)不存在,則插入。

> db.emp.save({"age":58,"name":"stone1"});
WriteResult({ "nInserted" : 1 })
> db.emp.find({"age":58}).pretty();
{
        "_id" : ObjectId("599164db0184ff511bf02b96"),
        "age" : 58,
        "name" : "stone1"
}

對(duì)應(yīng)的id數(shù)據(jù)存在了,就是更新操作。要保存的數(shù)據(jù)不存在(不能保存"_id"),就變成了增加操作。
建議使用update,盡量少用save。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)題目:MongoDB中怎么實(shí)現(xiàn)一個(gè)更新函數(shù)
本文鏈接:http://vcdvsql.cn/article26/pddhjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)App設(shè)計(jì)軟件開(kāi)發(fā)、標(biāo)簽優(yōu)化自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)