MongoDB新增及查詢數據(一)


新增操作
    insert函數會添加一個文檔到集合里面。例如我們要登記一個人的信息,首先我們在shell力創建一個局部變量person,其記錄了人的姓名和性別,我們通過db.persons.insert(person)想集合persons中插入一條記錄,通過db.persons.findOne()查詢剛才插入的記錄。


                                                                             圖 7.新增操作
插入的時候需要注意一下幾點:
1. 由於MongoDB是無模式的,所以不要預先定義和創建一個集合,在第一次插入的時候會自動創建。
2. 文檔中可以存儲任何結構的數據,當然在實際應用中我們存儲的是相同類型的文檔。
3. 每次插入數據的時候,如果沒有”_id”字段,MongoDB會自動為文檔生成此字段和值。


                                                                                    圖 8.一個集合可以承載不同的文檔


查詢操作
mongoDB使用find進行查詢,find的第一個參數決定了查詢要返回那些文檔,其形式也是一個文檔,說明要執行的查詢細節。空的查詢文檔{}會匹配集合的全部內容。find()會返回集合里的所有文檔。如果需要查詢獲取第一條數據可以使用findOne();

                                                                                       圖 9.使用find和findOne查詢集合

使用find()返回一個游標對象,但是shell會自動遍歷游標返回一個初始化的set,並允許我們繼續使用一個迭代輸出。不過我們也可以直接使用游標來輸出。

                                                                              圖 10.使用it遍歷查詢結果

通過游標和while也可以遍歷查詢結果。

                                                             圖 11.使用游標查看查詢結果
有時我們並不需要查詢集合的所有鍵值對,這時我們可以使用findOne或者find的第二個參數指定想要返回的鍵。這樣既可以節省傳輸的流量,又能節省客戶端解碼文檔的時間和內存消耗;


                                                            圖 12.查詢結果返回指定字段
查詢條件中的值必須是常量,不能引用文檔中其他鍵的值。


                                                         圖 13.查詢條件中不能引用其他字段作為值
mongoDB提供了比較操作符,$lt(<),$lte(<=),$gt(>),$gte(>=),$ne(!=)


                                                                 圖 14.查詢中的比較操作符
mongoDB中有兩種方式可以進行or查詢,$in可以用來查詢一個鍵等於多個值的記錄,與其對應的是$nin。


                                                                         圖 15.查詢中的or和in


免責聲明!

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



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