兄弟連學python——MongoDB相關

1.常用的命令

  • show dbs ? ?顯示數據庫列表
  • use dbname ? ?進入dbname數據庫,大小寫敏感,沒有這個數據庫也不要緊
  • show collections ? ?顯示數據庫中的集合,相當于表格

2.創建&新增

  • db.users.save({"name":"lecaf"}) ? ?創建了名為users的集合,并新增了一條{"name":"lecaf"}的數據
  • db.users.insert({"name":"ghost", "age":10}) ? ?users集合中插入一條新數據,,如果沒有users這個集合,mongodb會自動創建
  • save()insert()也存在著些許區別:若新增的數據主鍵已經存在,insert()會不做操作并提示錯誤,而save() 則更改原來的內容為新內容。
    • 存在數據:{ _id : 1, " name " : " n1 "} _id是主鍵
    • insert({ _id : 1, " name " : " n2 " }) ? ?會提示錯誤
    • save({ _id : 1, " name " : " n2 " })?? ? 會把 n1 改為 ?n2 ,有update的作用。

3.刪除

  • db.users.remove() ? ?刪除users集合下所有數據
  • db.users.remove({"name": "lecaf"}) ? ?刪除users集合下name=lecaf的數據
  • db.users.drop()db.runCommand({"drop","users"}) ? ?刪除集合users
  • db.runCommand({"dropDatabase": 1}) ? ?刪除當前數據庫

4.查找

  • db.users.find() ? ?查找users集合中所有數據
  • db.users.findOne() ? ?查找users集合中的第一條數據

5.修改

  • db.users.update({"name":"lecaf"}, {"age":10}) ? ?修改name=lecaf的數據為age=10,第一個參數是查找條件,第二個參數是修改內容,除了主鍵,其他內容會被第二個參數的內容替換,主鍵不能修改,如圖

 

三、高級應用

1.條件查找

  • db.collection.find({ "key" : value }) ? ????????查找key=value的數據
  • db.collection.find({ "key" : { $gt: value }?}) ? ???key > value
  • db.collection.find({ "key" :?{ $lt: value }?}) ? ???key < value
  • db.collection.find({ "key" :?{ $gte: value }?}) ? ??key >= value
  • db.collection.find({ "key" :?{?$lte: value }?}) ? ???key <= value
  • db.collection.find({ "key" :?{ $gt: value1 , $lt: value2?}?}) ? ?value1 < key <value2
  • db.collection.find({ "key" :?{?$ne: value }?}) ? ?key <> value
  • db.collection.find({ "key"?: { $mod : [ 10 , 1 ] } }) ? ?取模運算,條件相當于key % 10 == 1 key除以10余數為1
  • db.collection.find({?"key"?: { $nin: [ 1, 2, 3 ] } }) ? ?不屬于,條件相當于key的值不屬于[ 1, 2, 3 ]中任何一個
  • db.collection.find({?"key"?: { $in: [ 1, 2, 3 ] } }) ? ?屬于,條件相當于key等于[ 1, 2, 3 ]中任何一個
  • db.collection.find({ "key"?: { $size: 1 } }) ? ?$size 數量、尺寸,條件相當于key的值的數量是1key必須是數組,一個值的情況不能算是數量為1的數組)
  • db.collection.find({ "key"?: { $exists : true|false } }) ? ?$exists 字段存在,true返回存在字段key的數據,false返回不存在字度key的數據
  • db.collection.find({ "key": /^val.*val$/i }) ? ?正則,類似like“i”忽略大小寫,“m”支持多行
  • db.collection.find({ $or : [{a : 1}, {b : 2} ] }) ? ?$or或 (注意:MongoDB 1.5.3后版本可用),符合條件a=1的或者符合條件b=2的數據都會查詢出來
  • db.collection.find({ "key": value , $or : [{ a : 1 } , { b : 2 }] }) ? ?符合條件key=value?,同時符合其他兩個條件中任意一個的數據
  • db.collection.find({ "key.subkey" :value }) ? ?內嵌對象中的值匹配,注意:"key.subkey"必須加引號
  • db.collection.find({ "key": { $not : /^val.*val$/i?} }) ? ?這是一個與其他查詢條件組合使用的操作符,不會單獨使用。上述查詢條件得到的結果集加上$not之后就能獲得相反的集合。

2.排序

  • db.collection.find().sort({ "key1" : -1 ,"key2" : 1 }) ? ?這里的1代表升序,-1代表降序

3.其他

  • db.collection.find().limit(5) ? ?控制返回結果數量,如果參數是0,則當作沒有約束,limit()將不起作用
  • db.collection.find().skip(5) ? ?控制返回結果跳過多少數量,如果參數是0,則當作沒有約束,skip()將不起作用,或者說跳過了0
  • db.collection.find().skip(5).limit(5) ? ?可用來做分頁,跳過5條數據再取5條數據
  • db.collection.find().count(true) ? ?count()返回結果集的條數
  • db.collection.find().skip(5).limit(5).count(true) ? ?在加入skip()limit()這兩個操作時,要獲得實際返回的結果數,需要一個參數true,否則返回的是符合查詢條件的結果總數

?

轉載于:https://www.cnblogs.com/xiaobingbing/p/8052689.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPF-12 路由事件之二

WPF 為我們提供了許多不同的事件處理機制——它們是冒泡、隧道和直接的。這些都稱為路由事件直接事件直接在事件源上處理&#xff0c;這個有點像WinForms中的按鈕OnClick事件&#xff0c;直接在事件處理程序中處理業務冒泡事件當事件沒有被元素&#xff08;比如一個文本框&…

對01背包的分析與理解(圖文)

首先謝謝Christal_R的文章(點擊轉到鏈接)讓我學會01背包 本文較長&#xff0c;但是長也意味著比較詳細&#xff0c;希望您可以耐心讀完。 題目: 現在有一個背包(容器),它的體積(容量)為V,現在有N種物品(每個物品只有一個),每個物品的價值W[i]和占用空間C[i]都會由輸入給出,現在…

linux內核源碼剖析 博客,【Linux內存源碼分析】頁面遷移

頁面遷移其實是伙伴管理算法中的一部分&#xff0c;鑒于其特殊性&#xff0c;特地另行分析。它是2007年的時候&#xff0c;2.6.24內核版本開發時&#xff0c;新增碎片減少策略(the fragmentation reduction strategy)所引入的。該策略也稱之為反碎片技術(anti-gragmentation)。…

360的下一代SOC是這個樣子的

幾乎所有大型企業或機構的IT系統中&#xff0c;都會有安全運營中心(SOC)&#xff0c;它是網絡安全防護體系從設備部署到系統建設&#xff0c;再到統一管理&#xff0c;這一發展過程的自然產物。但在國內的實際應用中&#xff0c;SOC的問題多多。 首先是數據類型不全&#xff0c…

【轉載】利用scipy.misc等庫對jpg以及png等圖像數據預處理(用于深度學習喂數據)...

http://blog.csdn.net/qq_16949707/article/details/56306720 轉載于:https://www.cnblogs.com/tenderwx/p/8057599.html

2018年下半年網絡公式考試案例分析真題

閱讀以下說明&#xff0c;回答問題1至問題3&#xff0c;將解答填入答題紙對應的解答欄內。【說明】某公司網絡劃分為兩個子網&#xff0c;其中設備A是DHCP服務器&#xff0c;如圖3-1所示。 【問題1】(6分&#xff0c;每空2分)DHCP在分配IP地址時使用 (1) 的方式&#xff0c; 而…

哪一個不是linux常用的shell,Linux下查看使用的是哪種shell的方法匯總

查看當前發行版可以使用的shell復制代碼代碼如下:[rootlocalhost ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin查看當前使用的shell方法一、最常用的查看shell的命令&#xff0c;但不能實時反映當前shell復制代碼代碼如下:[rootlocalhost ~]$ echo $SHELL/bin/bash二、下…

企業建設呼叫中心需要考慮哪些因素

呼叫中心發展至今&#xff0c;它的意義早已不是90年代末,只是簡單地解決客戶客服系統的要求。現在的呼叫中心有了新的使命&#xff0c;比如拓展成為一個信息服務中心&#xff0c;或者成為一個營銷中心。客戶如何能通過這樣的手段&#xff0c;使企業與其他的企業之間形成差異化的…

【單片機入門】(三)應用層軟件開發的單片機學習之路-----UART串口通訊和c#交互...

本文由網友投稿。作者&#xff1a;陳顯達原文標題&#xff1a;【單片機入門】(三)應用層軟件開發的單片機學習之路-----UART串口通訊和c#交互原文鏈接&#xff1a;https://www.cnblogs.com/1996-Chinese-Chen/p/16826558.html引言在第一章博客中&#xff0c;我們講了Arduino對E…

linux中使用yum的優點,linux – 自動“yum update”以保證服務器安全 – 優點和缺點?...

這取決于根據我使用CentOS的經驗,它非常安全,因為您只使用CentOS基本存儲庫.您是否應該偶爾嘗試更新失敗…是…在您應該期望出現故障的硬盤驅動器或偶爾出現故障的CPU的同一級別上.您永遠不會有太多備份. &#x1f642;關于自動更新的好處是,您可以比手動修補更快(因此更安全).…

高能力成熟度軟件企業中軟件質量工程師的職責

隨著科學技術的不斷發展進步&#xff0c;企業之間的競爭越來越激烈。軟件企業要想在競爭中發展生存&#xff0c;提高軟件產品質量已成為必要條件。在一些高能力成熟度軟件企業中&#xff0c;專門成立了質量保證和控制職能部門&#xff0c;起著提高項目管理透明性和確保軟件產品…

存儲過程和函數的區別

存儲過程和函數的區別存儲過程和函數目的是為了 可重復地 執行操作數據庫的sql語句的集合。區別是寫法和調用上。寫法上&#xff1a;存儲過程的參數列表可以有輸入參數、輸出參數、可輸入輸出的參數&#xff1b;函數的參數列表只有輸入參數&#xff0c;并且有return <返回值…

機器學習案例丨基于廣泛和深入的推薦 - 餐廳評級預測

點擊上方藍字關注我們&#xff08;本文閱讀時間&#xff1a;18分鐘&#xff09;Microsoft Azure Machine Learning Studio 是微軟強大的機器學習平臺&#xff0c;在設計器中&#xff0c;微軟內置了15個場景案例&#xff0c;但網上似乎沒有對這15個案例深度刨析的分析資料&#…

css linux 等寬字體,比例字體等寬字體

我們都知道等寬字體和比例字體的區別&#xff0c;就在于比例字體(Monospaced Font)即每個字母寬度是按一定比例自動調整的&#xff0c;而等寬字體(Proportional font)則是固定寬度&#xff0c;固定間距&#xff0c;字體的每一個字母和字符所占的水平空間都是相同的。比例字體&a…

三星智能家居系統頻繁故障 大批用戶受到影響

Shelley Powers正在她密蘇里州郊區的房子中鼾睡&#xff0c;突然警鈴大作將她驚醒&#xff0c;在仔細排查之后&#xff0c;發現是虛驚一場&#xff0c;是安全傳感器誤報。在此之后的幾周&#xff0c;她的三星Smart Things智能家居系統頻繁出現故障&#xff0c;比如設定的燈具不…

適用于 .NET 的開源文本差異對比組件

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具或組件&#xff0c;希望對您有用&#xff01;簡介對于開發人員來說&#xff0c;Git 是我們經常使用的工具&#xff0c;在每次編寫完代碼并提交后&#xff0c;我們可以通過 git dif…

MySQL—查詢某時間范圍的數據

-- 查詢今天的數據 select * from user where to_days(birthday) to_days(CURDATE()); -- 查詢昨天的數據 select * from user where to_days(CURDATE()) - to_days(birthday)<1; -- 查詢最近7天的數據 select * from user where birthday > DATE_SUB(CURDATE(),INTERVA…

box-shadow陰影合集

2019獨角獸企業重金招聘Python工程師標準>>> * box-shadow可以設置6個值。其中4個可選&#xff1b;2個必須指定&#xff1a;分別是x軸偏移量和y軸偏移量&#xff0c;這2個值可以是正值&#xff0c;可以是負值&#xff0c;也可以是0&#xff0c;但不可以省略不寫 陰影…

《數據科學R語言實踐:面向計算推理與問題求解的案例研究法》一一2.5 為跨年度的個人參賽選手構造記錄...

本節書摘來自華章計算機《數據科學R語言實踐&#xff1a;面向計算推理與問題求解的案例研究法》一書中的第2章&#xff0c;第2.5節,作者&#xff1a;[美] 德博拉諾蘭&#xff08;Deborah Nolan&#xff09;  鄧肯坦普朗&#xff08;Duncan Temple Lang&#xff09;  更多章…

基于 abp 微服務架構的開源低代碼平臺

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具或組件&#xff0c;希望對您有用&#xff01;簡介 ABP-MicroService是 一個基于ABP vNext微服務架構、vue-element-admin的后臺管理框架&#xff0c;適用于大型分布式業務系統和企…