摘要:應(yīng)答式寫入就會(huì)給我們返回結(jié)果,結(jié)果里面包含的項(xiàng)目很多,這樣我們就能更好的進(jìn)行程序的控制和安全機(jī)制的處理。如下這個(gè)有用的另外一個(gè)用法命令行中使用該命令查看數(shù)據(jù)庫(kù)是否連接成功返回表示數(shù)據(jù)庫(kù)連接成功是查找并修改的意思。
在操作數(shù)據(jù)庫(kù)時(shí),對(duì)數(shù)據(jù)的修改是需要有足夠的安全措施的,其實(shí)在實(shí)際工作中,我們用db.collections.update的時(shí)候不多,在修改時(shí)我們都會(huì)用findAndModify,它可以給我們返回來(lái)一些必要的參數(shù),讓我們對(duì)修改多了很多控制力,控制力的加強(qiáng)也就是對(duì)安全的強(qiáng)化能力加強(qiáng)了。
應(yīng)答時(shí)寫入
我們之前所學(xué)習(xí)的都是非應(yīng)答式的,就是再操作完數(shù)據(jù)之后,并沒有任何回應(yīng)和返回值。
應(yīng)答式
寫入就會(huì)給我們返回結(jié)果,結(jié)果里面包含的項(xiàng)目很多,這樣我們就能更好的進(jìn)行程序的控制和安全機(jī)制的處理。
db.runCommand()
他是數(shù)據(jù)庫(kù)運(yùn)行命令的執(zhí)行器,執(zhí)行命令首先就要使用它,因?yàn)樗赟hell和驅(qū)動(dòng)程序間提供了一致的接口。
db.workmate.update({sex:1},{$set:{money:1000}},false,true) // false意思是,如果有這個(gè)屬性就修改,如果沒有就不修改,(因?yàn)槲覀円薷牡闹皇牵?// true 意思是,如果是true,表示對(duì)所有查詢結(jié)果都做修改 var resultMessage=db.runCommand({getLastError:1}) // 執(zhí)行完數(shù)據(jù)庫(kù)操作后會(huì)返回一個(gè)對(duì)象 // getLastError:1 :表示會(huì)返回功能錯(cuò)誤 // printjson:表示以json對(duì)象的格式輸出到控制臺(tái)。 printjson(resultMessage);// 以json的形式輸出
上邊的代碼,我們修改了所有男士的數(shù)據(jù),每個(gè)人增加了1000元錢(money),然后用db.runCommand()執(zhí)行,可以看到執(zhí)行結(jié)果在控制臺(tái)返回了。如下:
{ "connectionId" : 1, "updatedExisting" : true, // 這個(gè)有用 "n" : 2, "syncMillis" : 0, "writtenTo" : null, "err" : null, "ok" : 1 }
// runCommand()的另外一個(gè)用法 // 命令行中使用該命令查看數(shù)據(jù)庫(kù)是否連接成功 > use login switched to db login > db.runCommand({ping: 1}); { "ok" : 1 } // 返回{ "ok" : 1 }表示數(shù)據(jù)庫(kù)連接成功!!
findAndModify
findAndModify是查找并修改的意思。配置它可以在修改后給我們返回修改的結(jié)果。
// var myModify={ findAndModify:"workmate", // 哪個(gè)集合 query:{name:"JSPang"}, // 查詢條件 update:{$set:{age:18}}, // 修改操作 new:true //更新完成,需要查看結(jié)果,如果為false不進(jìn)行查看結(jié)果 } var ResultMessage=db.runCommand(myModify); printjson(ResultMessage) // findAndModify的性能是沒有直接使用db.collections.update的性能好,但是在實(shí)際工作中都是使用它,畢竟要商用的程序安全性還是比較重要的。
findAndModify屬性值:
query是查詢選擇器,與findOne的查詢選擇器相同
update是要更新的值,不能與remove同時(shí)出現(xiàn)
remove表示刪除符合query條件的文檔,不能與update同時(shí)出現(xiàn)
new為true:返回個(gè)性后的文檔,false:返回個(gè)性前的,默認(rèn)是false
sort:排序條件,與sort函數(shù)的參數(shù)一致。
fields:投影操作,與find*的第二個(gè)參數(shù)一致。
upsert:與update的upsert參數(shù)一樣。
例如:
db.mongo_book.findAndModify({query:{"code":15409639}, update:{ $set : { catalogStatus : 3}} , new:true, });
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19217.html
摘要:安裝好時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫(kù),我們可以用鏈接數(shù)據(jù)庫(kù),就是這個(gè)原理。這節(jié)課我們就學(xué)習(xí)一下的用戶管理。超級(jí)賬號(hào),超級(jí)權(quán)限查找用戶信息刪除用戶建權(quán)如果正確返回,如果錯(cuò)誤返回。。 安裝好MongoDB時(shí),它為我們默認(rèn)開了一個(gè)最高管理權(quán)限方便我們管理數(shù)據(jù)庫(kù),我們可以用mongo鏈接數(shù)據(jù)庫(kù),就是這個(gè)原理。但在實(shí)際開發(fā)中并一般不能使用這個(gè)用戶,因?yàn)榇蠹叶贾篮妥罡邫?quán)限...
摘要:本次講述安裝的當(dāng)然是免費(fèi)的社區(qū)版。兩種安裝方法手動(dòng)安裝,需要下載安裝包解壓編譯比較繁瑣使用系統(tǒng)的安裝,是系統(tǒng)上的包管理工具,類似的。如文章出現(xiàn)有錯(cuò)誤,麻煩指出或有相關(guān)知識(shí)點(diǎn)討論也十分歡迎 Mac上裝MongoDB的官網(wǎng)教程:https://docs.mongodb.com/manu...,英文不錯(cuò)的可以直接看,教程也很清晰。 兩種版本 MongoDB有兩種版本: 1.(Enterpri...
摘要:布爾類型,表示文檔是否按照有序或者無(wú)序插入,默認(rèn)是返回參數(shù)返回了含有操作狀態(tài)的對(duì)象插入文檔成功返回如下對(duì)象字段指明了插入文檔的總數(shù)如果該操作遇到了錯(cuò)誤對(duì)象將包含該錯(cuò)誤信息例子四其它可以向集合中添加文檔的方法和選項(xiàng)一起使用的。 上一節(jié)介紹了MongoDB的基本的命令,以及結(jié)構(gòu)的了解,這一節(jié)的主題是介紹一下MongoDB的插入文檔的操作的基礎(chǔ)命令的使用,MongoDB當(dāng)中文檔的數(shù)據(jù)結(jié)構(gòu)和j...
摘要:支持字符串哈希列表集合有序集合等數(shù)據(jù)結(jié)構(gòu),目前不支持事務(wù)。是多入口以下關(guān)于表驅(qū)動(dòng)法的描述,錯(cuò)誤的是表驅(qū)動(dòng)法可以作為復(fù)雜繼承結(jié)構(gòu)的替代方案,難點(diǎn)在于一個(gè)經(jīng)過(guò)深思熟慮的查詢表。表驅(qū)動(dòng)法查找無(wú)規(guī)則分布的數(shù)據(jù)采用階梯訪問的方法最佳。 1、有關(guān)PHP字符串的說(shuō)法,不對(duì)的是: CA、如果一個(gè)腳本的編碼是ISO-8859-1,則其中的字符串也會(huì)被編碼為 ISO-8859-1。B、PHP的字符串在內(nèi)部...
閱讀 2520·2023-04-25 19:31
閱讀 2270·2021-11-04 16:11
閱讀 2822·2021-10-08 10:05
閱讀 1530·2021-09-30 09:48
閱讀 2328·2019-08-30 15:56
閱讀 2426·2019-08-30 15:56
閱讀 2189·2019-08-30 15:53
閱讀 2284·2019-08-30 15:44