標籤:nosql mongodb mongo
官網文章,對比SQL和mongodb
http://docs.mongodb.org/manual/reference/sql-comparison/
db --顯示當前使用的庫
show dbs --顯示所有庫
use db
show collections --顯示當前資料庫的所有表
db.testData.find() --選擇要操作的資料庫之後,db代表當前資料庫物件,testData代表資料表,在mongo裡table叫作collection. find()函數返回所有記錄(record),在mongo裡一條記錄叫做document.如果返回的資料記錄非常大超過20條,預設只會返回首20條,要按“it”(iterate)來繼續顯示下面20條記錄。
db.testData.insert() -- 插入資料
db.data.find({"_id" : "3"}) --尋找指定記錄
db.testData.findOne()
db.testData.find().limit(3)
mongo的shell操作互動視窗的語言風格是javascript文法,比如:
j = { name : "mongo" }k = { x : 3 }db.testData.insert( j )db.testData.insert( k )
表示插入了兩條記錄。
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }
_id是一個表裡的唯一值,如果不指定,預設系統會分配一個記錄一個唯一的_id,也可以指定_id:
> testdate={"_id":"3", "isp_id":"1000314","ip":"58.177.249.38","request_url":"\/bruce\/laiye\/","referer":null,"_ref":null,"user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko\/20100101 Firefox\/31.0"}{ "_id" : "3", "isp_id" : "1000314", "ip" : "58.177.249.38", "request_url" : "/bruce/laiye/", "referer" : null, "_ref" : null, "user_agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0"}> db.data.insert(testdate)WriteResult({ "nInserted" : 1 })> db.data.find({"_id" : "3"}){ "_id" : "3", "isp_id" : "1000314", "ip" : "58.177.249.38", "request_url" : "/bruce/laiye/", "referer" : null, "_ref" : null, "user_agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0" }
javascript文法
//利用迴圈快速插入25條記錄for (var i = 1; i <= 25; i++) db.testData.insert( { x : i } )//輸出所有記錄var c = db.testData.find()while ( c.hasNext() ) printjson( c.next() )//尋找特定結果var c = db.testData.find()printjson( c [ 4 ] )//結果{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "x" : 5 }//還能在操作視窗裡寫function,然後直接調用!!牛B!!//先定義insertData函數function insertData(dbName, colName, num) { var col = db.getSiblingDB(dbName).getCollection(colName); for (i = 0; i < num; i++) { col.insert({x:i}); } print(col.count());} //調用 insertData("test", "testData", 400)
本文出自 “安家圈子交流學習” 部落格,請務必保留此出處http://brucetam.blog.51cto.com/1863614/1540035