歡迎您光臨本站 註冊首頁

每日學習筆記(12)

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

一,源碼編譯openfetion

0,將所需的依賴庫都安裝好 1,安裝CMake,版本2.8以上 2,在openfetion目錄下建立一個build目錄 3,cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debug 4,進入build目錄中進行編譯:make 安裝:make install 5,安裝完成後若出現 openfetion: error while loading shared libraries: libofetion.so.0: cannot open shared object file: No such file or directory 請在終端中運行ldconfig 二,mongodb快速入門 1,創建資料庫存儲目錄/data/db 2,進入bin目錄下,./mongod啟動伺服器 3,./mongo啟動shell窗口,在這裡進行初步學習 4,shell默認是連接到'test'資料庫,可以“use mydb"切換到mydb資料庫 MongoDb並不會立即為你創建資料庫,而是直到第一天數據插入時才創建,這種“延遲創建“的 方式性能比較好.這也意味著如果沒有插入數據,則使用"show dbs"是看不到空資料庫的. 5,插入數據到集合中 db.foo.save({name:"phinecos"}); db.foo.find(); 我們不需要預先定義集合,MongoDB會在第一個數據插入時自動創建,存儲的文檔可以是任何結構的,這就意味著資料庫的升級和遷移很簡單了. 上面的find()實際返回一個迭代器, var cursor = db.foo.find(); while (cursor.hasNext()) printjson(cursor.next()); 也可以這樣: db.foo.find().forEach(printjson); 你也可以將迭代器視為一個數組:

printjson(cursor[3]); 或者乾脆將其轉化為一個數組: var arr = db.foo.find().toArray(); 6,查詢 db.foo.find({name:'phinecos'}).forEach(printjson); 可以看出,查詢條件本身就是一個文檔,形式為{a:A,b:B,...}的查詢文檔就意味著"where a==A and b==B and ...".這個查詢等同於"select * from foo where name='phinecos'" 你也可以要求查詢只返迴文檔部分欄位: db.foo.find({x:4},{j:true}).forEach(printjson); 這樣就只會顯示j這個欄位,它相當於"select j from foo where x=4" db.foo.findOne({name:'phinecos'}); 這樣只返回一個文檔 可以用limit方法來限制返回的結果數目: db.foo.find().limit(3); 7,連接字元串 mongodb://phinecos:123@localhost/test 使用用戶名phinecos和密碼123連接到本地的test, MongoDB的伺服器會為每一個上來的TCP連接創建一個線程,因此極力推薦在應用程序中使用某種形式的連接池.


[火星人 ] 每日學習筆記(12)已經有465次圍觀

http://coctec.com/docs/linux/show-post-46294.html