![]()
4.4 插入記錄下面我們來建立一個test的集合并寫入一些數(shù)據(jù). 建立兩個對象j和t , 并保存到集合中去.在例子里 “>” 來表示是 shell 輸入提示符 > j = { name : "mongo" }; {"name" : "mongo"} > t = { x : 3 }; { "x" : 3 } > db.things.save(j); > db.things.save(t); > db.things.find(); { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" } { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 } > |
有幾點需要注意一下: l 不需要預(yù)先創(chuàng)建一個集合. 在第一次插入數(shù)據(jù)時候會自動創(chuàng)建. l 在文檔中其實可以存儲任何結(jié)構(gòu)的數(shù)據(jù), 當然在實際應(yīng)用我們存儲的還是相同類型文檔的集合. 這個特性其實可以在應(yīng)用里很靈活, 你不需要類似alter table 語句來修改你的數(shù)據(jù)結(jié)構(gòu) l 每次插入數(shù)據(jù)時候集合中都會有一個ID, 名字叫 _id. 下面再加點數(shù)據(jù): > for( var i = 1; i < 10; i++ ) db.things.save( { x:4, j:i } ); > db.things.find(); {"name" : "mongo" , "_id" : ObjectId("497cf60751712cf7758fbdbb")} {"x" : 3 , "_id" : ObjectId("497cf61651712cf7758fbdbc")} {"x" : 4 , "j" : 1 , "_id" : ObjectId("497cf87151712cf7758fbdbd")} {"x" : 4 , "j" : 2 , "_id" : ObjectId("497cf87151712cf7758fbdbe")} {"x" : 4 , "j" : 3 , "_id" : ObjectId("497cf87151712cf7758fbdbf")} {"x" : 4 , "j" : 4 , "_id" : ObjectId("497cf87151712cf7758fbdc0")} {"x" : 4 , "j" : 5 , "_id" : ObjectId("497cf87151712cf7758fbdc1")} {"x" : 4 , "j" : 6 , "_id" : ObjectId("497cf87151712cf7758fbdc2")} {"x" : 4 , "j" : 7 , "_id" : ObjectId("497cf87151712cf7758fbdc3")} {"x" : 4 , "j" : 8 , "_id" : ObjectId("497cf87151712cf7758fbdc4")} |
請注意一下, 這里循環(huán)次數(shù)是10, 但是只顯示到第8條, 還有2條數(shù)據(jù)沒有顯示. 如果想繼續(xù)查詢下面的數(shù)據(jù)只需要使用”it”命令, 就會繼續(xù)顯示下面的數(shù)據(jù): { "_id" : ObjectId("4c220a42f3924d31102bd866"), "x" : 4, "j" : 17 } { "_id" : ObjectId("4c220a42f3924d31102bd867"), "x" : 4, "j" : 18 } has more > it { "_id" : ObjectId("4c220a42f3924d31102bd868"), "x" : 4, "j" : 19 } { "_id" : ObjectId("4c220a42f3924d31102bd869"), "x" : 4, "j" : 20 } |
從技術(shù)上講 find() 返回一個游標對象. 但在上面的例子里, 并沒有拿到一個游標的變量. 所以 shell 自動遍歷游標, 返回一個初始化的set, 并允許我們繼續(xù)用 it 迭代輸出. 當然我們也可以直接用游標來輸出, 不過這個是”游標”部分的內(nèi)容了.
-------------------------------------------------------------------
《MongoDB管理與開發(fā)精要》、《Redis實戰(zhàn)》作者
ChinaUnix.net專家 http://cdhongwan.blog.chinaunix.net
@CD紅丸 http://weibo.com/u/2446082491
|