標籤:style blog http color io os ar 使用 for
windows下mongodb基礎玩法系列
- windows下mongodb基礎玩法系列一介紹與安裝
- windows下mongodb基礎玩法系列二CURD操作(建立、更新、讀取和刪除)
簡單說幾句 在mongodb中3元素:db(資料庫)、collection(集合)、document(文檔)
其中collection類似於資料庫中的表,document類似於行,這樣一來我們就將內容對比起來記憶學習了。資料格式MongoDB documents是BSON格式(一種類json的一種二進位形式的儲存格式)
insert操作-C①單條插入
db.testData.insert({"name":"A","age":18})
②批量插入(直接就是一個js迴圈,這樣看起來是不是很爽,會js應該就可以很好的玩轉mongodb看,看來我要努力一點兒)
for(var i = 19 ; i < 28 ; i++) {
db.testData.insert({"name":String.fromCharCode(i+47),"age":i})
}
update操作-U①整體更新(替換整個文檔中除了_id的值,將一個全新的文檔作為update的第二個參數)
db.testData.update({"name":"K"},{"name":"K","age":28})
②局部更新(更新一個文檔中的特定欄位,在這裡僅僅介紹了一下$inc/$set)
- $inc可以對文檔的某個為數字型的值進行增減的操作。
db.testData.update({"name":"K"},{$inc:{"age":72}})
- $set 更新文檔中欄位的值,或者是文檔中嵌入式的文檔的值
db.testData.update({"name":"K"},{$set:{"age":28}})
③upsert(預設情況下update()沒有匹配到文檔的時候,就什麼也不做,但是如果是upsert(即是update的第三個參數是true的時候),沒有匹配到文檔得時候,會插入作為第二參數的內容作為一條新的文檔)
db.testData.update({"name":"L"},{"name":"L","age":29},true)
④批次更新(這個也是我們常常遇見的問題,但是能夠想到的解決方案還是迴圈更改,按理說這樣的效率是比較低的,等後續文檔時更新一下這個相關的方法,希望看見這個問題後有好的解決方案的朋友留下一點意見,謝謝)find操作-Rmongodb中查詢操作提供了db.collection.find()方法來進行查詢操作,簡單說就是在collection中選出document,也就是通常我們做的在某一個表中查詢出來內容是一樣一樣的。
①$gt,$gte,$lt,$lte,$ne,無特殊(>,>=,<,<=,!=,=)
demo:db.testData.find({"age":{$gt:20}})db.testData.find({"age":{$gte:20}})db.testData.find({"age":{$lt:20}})db.testData.find({"age":{$lte:20}})db.testData.find({"age":{$ne:20}})db.testData.find({"age":20})
②$and,$or,$in,$nin(and,or,in,not in)
demo:db.testData.find({$and:[{"name":"A","age":18}]})db.testData.find({$or:[{"name":"A","name":"B"}]})db.testData.find({"name":{$in:["A","B"]}})db.testData.find({"name":{$nin:["A","B"]}})
remove操作-D在MongoDB中, db.collection.remove()是從一個集合中刪除文檔。刪除所有文檔
db.testData.remove({})
上述方法只是從集合中刪除了所有的文檔,集合本身還是存在的,如果要直接刪除集合可以使用一個更實效的方法drop()刪除合格文檔
db.testData.remove({"name":"A"})
本文原創部落格地址:http://www.cnblogs.com/unofficial 官網地址: www.pushself.com
windows下mongodb基礎玩法系列二CURD操作(建立、更新、讀取和刪除)