mongodb 基本指令學習 (2)

來源:互聯網
上載者:User

標籤:

db.collectionname.find(<criteria>, <projection>) 

<criteria>   可選   類型 文檔    文檔的過濾條件  

<projection>  可選 類型  文檔  對結果進列欄位的匹配   {欄位1:<booleadn>,欄位2:<boolean>...} (也就是第二個參數能控制我們在過濾條件下結果欄位的顯示)

當我們不提供任何參數的時候,就是查詢整個文檔 

下面的例子對結果欄位進行了匹配 

上面的例子我們首先選擇了id為2的文檔,並且在結果中我們只想要對bigname進行顯示

好奇的你 一定會這麼做

能不能顯示id不顯示bigname這個欄位呢 duangduangduang 報錯了  意思是你不能將包含和不包含欄位的寫法融合在一起(排除_id 這個mongodb提供的_id能是實現包含和不包含融合在一起) 上例子

也就是當我們只想要一列的時候 我們可以通過上面的方式  多列的時候就多幾個類的參數為1 或者我們只想要一列不顯示的時候設定一列的參數為0

並且在db.collectionname.find() 後面還可以加一些 查詢遊標的方法 例如 limit()限制結果集數量   skip()跳過一定的條目,返回結果集  sort() 排序

首先我在資料庫中插入了許多id不同的資料 測試上面幾個遊標方法

上面的使用sort()的遊標 屬性的值為1的時候是升序  屬性值是-1 的時候是降序

or的用法

$lt <
$lte <=
$gt >
$gte >=
$in in
$nin not in
$ne !=

參照上面的幾個操作符 ,我們進行幾個尋找操作

匹配null  這個是查詢不存在該欄位的文檔值

like查詢   

注意最下面的兩條就是通過like查詢出來了   只有前匹配或者後匹配的情況下 就要將不進行匹配的進行轉移

上面的例子是後匹配的like

在這裡添加一個關於collection的操作 db.collectionname.count() 查詢資料集的文檔數量

where 查詢 

 

 db.collectionname.count(<query>)   符合query的條目數

db.collectionname.remove(<query>,justone)  justone 布爾值  為true的時候只刪除一個文檔

首先當我們想要刪除一個collection中所有的文檔的時候 db.collection.remove({})   這裡必須提供一個空的對象 實現全部刪除的目的

當我們不提供第二個參數的時候,預設為false 就是從文檔中刪除所有匹配query的項  

mongodb 數組查詢

文檔的結構中是可以儲存數組的 那我們怎麼實現數組的查詢呢?

如果你提供的key值後面的value值是一個數組的話 當你提供的value在儲存的key的value值的數組中時 mongodb就是返回我們需要的結果

上面我們發現有一條文檔記錄的value值並不是數組  也就是mongodb的find()的方法既能匹配數組的值 也能匹配單一的值  上面的例子是會匹配所有name的值包含a的數組的文檔或者name的值是a的文檔


匹配特定的數組 (其實這個沒有什麼特別 只是列出來 跟下面的作對比)

我們要匹配包含一部分的數組的值的時候呢  也就是匹配數組的一部分值 

根據數組的元素的長度進行匹配 

向數組內添加值

$push   這個操作只能對一個value是數組的文檔項使用 如果不存在該key的值 建立數組項

$pushAll push後面的參數就是要添加到數組中的值  如果它是一個數組那麼就在數組中添加一個數組    $pushAll 是同時將多個值添加到數組中 其中的每一個項一次添加到數組中

(區分它們兩個就是一個和多個的區別)

$pop   當後面的值是1的時候刪除最後一個數組項  後面的值是-1的時候刪除第一個數組項

$pull  從數組中刪除一個特定的值

$pullAll   從數組中刪除多個值

上面的例子中有兩個相同的值 可以看見它們都被刪除了

 

mongodb 基本指令學習 (2)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.