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