主要介紹下mongodb的基本語法,增刪改查等
我們都熟悉mysql和oracle的基本操作,這裡介紹mongodb的基本語法
首先要比較下mysql和mongodb的差別
mysql和oracle都有例項的概念,即資料庫例項。而mongodb同樣有例項的概念,只是初始化預設提供test資料庫
mongodb基本語法實戰
mongodb的客戶端是乙個js編譯器,所以支援js語法,預設連線的是test資料庫
1.insert操作
>db.test.insert()
>db.test.insert()
>db.test.insert()
2.find操作
注意:_id自動是資料庫預設的guid,保證資料的唯一性;安裝bson的相識書寫文件,不符合語法會提示錯誤
>db.test.find()
>db.test.find()
(1)乙個查詢document裡可以包含多個條件,預設多條件之間是and關係
>db.test.find()
(2)有時候我們並不需要查詢的所有內容,可以指定查詢返回的內容
比如我們只需要name的資訊,可以執行
>db.test.find({},)
如果不想顯示_id鍵,那麼可以執行
>db.test.find({},)
(3)查詢條件
<1>$lt,$lte,$gt,$gte分別對應,>=
比如查詢age在18-22之間的使用者
>db.test.find(})
<2>or查詢
比如查詢年齡是20或24的資料,可以執行
>db.test.find(})
與in相反的是nin,如下
>db.test.find(})
如果是多個條件的or查詢,譬如查詢年齡在20或24的,或名字都叫做tom的資料
>db.test.find(},]})
<3>$not使用,在前邊操作的基礎上相反
>db.test.find(})
>db.test.find(}})
(4)特殊型別查詢
查詢null,null同時匹配自身和不存在的key
>db.test.find()
>db.test.find()
(5)正規表示式
>db.test.find()
mongodb是使用perl來匹配正規表示式,所以pcre允許的語法都可以在mongodb中使用
(6)查詢陣列
查詢水果裡有香蕉的ducoment
>db.food.find()
(7)查詢嵌入document
>db.test.insert(,"age":45})
>db.test.find()
(8)where查詢
假如有個list,想查詢key的值裡有相等的document
第二個document裡,菠菜和西瓜等值,這個應該查詢到
>db.foo.find(
return false;
(9)游標
3.update操作
注意:update方法的第乙個引數是查詢的條件,第二個引數是更新的值
>db.test.update(,)
4.remove操作
mongodb 學習筆記 (一) 了解Mongo
剛剛接觸mongo,為了督促自己學習,嘗試著寫寫學習筆記。mongodb mongodb 是乙個高效能,開源,無模式的文件型資料庫,是當前 nosql 資料庫產品中最熱門的一種。它在許多場景下可用於替代傳統的關係型資料庫或鍵 值儲存方式,mongodb 使用 c 開發。mongodb 的官方 位址是...
MongoDB被攻擊 開啟Mongo許可權
就在剛剛。開啟我的 的時候,發現對資料庫的請求都失敗了 我的天都報500了,又是什麼bug?排查到資料庫的時候,開啟robo 3t,發現資料庫沒有了,驚呆?很明顯被刪掉了 納悶?別人怎麼知道我密碼,怎麼刪掉的?在網上查了之後,知道是因為資料庫沒有新增許可權 自己試一試 居然真的直接登上來了 既然直接...
mongo 分片事務 MongoDB範圍分片
基於範圍的分片會將資料劃分為由片鍵值確定的連續範圍。在此模型中,具有 接近 片鍵值的文件可能位於相同的塊或分片中。這允許在連續範圍內讀取目標文件的高效查詢。但是,如果片鍵選擇不佳,則讀取和寫入效能均可能降低。請參閱片鍵的選擇。如果未配置任何其他選項 例如雜湊分片或區域所需的其他選項 則基於範圍的分片...