[MongoDB]增刪改查


摘要

上篇文章學習了mongodb在windows上的安裝,以及如何開啟mongodb,最后列舉了簡單的增刪改查操作。本篇將繼續深入學習一下增刪改查。

相關文章

[MongoDB]入門操作

CRUD

通過上篇文章,我們知道collection中存儲的每個對象是一個document對象。document是以鍵值對存在的json形式的對象。我們都知道json的value中存儲的數據,可能是單個對象,字符串,數組,也可能是嵌套的json等類型的數據。

insert

插入操作又分為:單個插入和批量插入。

案例:創建一個user,該對象包括用戶名稱,所在的公司,公司包含公司名稱及地址信息。

通過上面的插入操作,我們發現user中包括一個嵌套的company json對象。

后來由於公司app需要添加通訊錄功能,需要保存該用戶的好友。這是user的friends就可以是一個數據,用來保存用戶的name

關於批量插入的操作,查找了很久也沒找到合適的方式,估計是mongodb的javasrcipt shell不支持批量的操作吧。不過你可以使用c#驅動,變相的實現批量插入,一個循環一條一條的插入。

find

查找操作,查找支持>,>=,<,<=,!=,=,在mongodb中這些比較符對應的為$gt,$gte,$lt,$lte,$ne。

插入測試數據,用來做find操作

查找年齡等於20的用戶

查找年齡大於等於18的用戶

其他的比較符不再舉例,模仿上圖$gte的操作。

$exists 是否存在某個字段

查找存在company字段的document

查找不存在address字段的user

$in:在某個范圍

查找公司地址在beijing,shanghai的用戶

$nin:不在某個范圍

db.users.find({"company.address":{$nin:["beijing","shanghai"]}})

$or:或者

查找用戶公司在北京,或者用戶年齡滿20周歲的用戶

正則表達式查詢

復雜條件查詢可以通過$where實現,可以將js的function 作為$where的值,使用js的實現復雜的條件查詢。

update

mongodb的更新,分為整體更新和局部更新。

整體更新:就是所有的不管變化沒變化都需要update,有點類似ef中的更新,先查詢出對象,然后修改一個字段的值,再更新回去。

局部更新:只是對需要的字段進行更新。

mongodb為我們提供了兩個關鍵字:$inc,$set用來實現mongodb的更新操作。

$inc:增量,是increase的縮寫。在原來的基礎上加上某個值。

修改年齡為29的用戶的年齡,在這個基礎上加上-9

$set

用法類似sql中的set

update方法第三個參數,bool類型參數,默認為false,如果為true,則標識如果不存在則創建的操作。

更新名稱為zhangsan的用戶信息,不存在則創建

批量更新

將第四個參數設置為true

remove(where)

總結

本篇文章學習了mongodb的增刪改查的操作。動手操作一遍加深印象。

參考

http://www.cnblogs.com/huangxincheng/archive/2012/02/19/2357846.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM