多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > MongoDB: 1. Database

MongoDB: 1. Database

來源:程序員人生   發布時間:2013-10-23 16:50:15 閱讀次數:3282次
mongo 是 MongoDB 自帶的交互式 Javascript shell,用來對 Mongod 進行操作和管理的交互式環境。

使用 "./mongo --help" 可查看相關連接參數。
$ ./mongo --helpMongoDB shell version: 1.5.3usage: ./mongo [options] [db address] [file names (ending in .js)]db address can be:  foo                   foo database on local machine  192.169.0.5/foo       foo database on 192.168.0.5 machine  192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999options:  --shell               run the shell after executing files  --nodb                don't connect to mongod on startup - no 'db address'                        arg expected  --quiet               be less chatty  --port arg            port to connect to  --host arg            server to connect to  --eval arg            evaluate javascript  -u [ --username ] arg username for authentication  -p [ --password ] arg password for authentication  -h [ --help ]         show this usage information  --version             show version information  --ipv6                enable IPv6 support (disabled by default)file names: a list of files to run. files have to end in .js and will exit after unless --shell is specified

相關命令很多,要習慣使用 "help"。
$ ./mongoMongoDB shell version: 1.5.3connecting to: testtype "help" for help> help        help admin                   misc shell commands        show dbs                     show database names        show collections             show collections in current database        show users                   show users in current database        show profile                 show most recent system.profile entries with time >= 1ms        use <db name>                set current database to <db name>        db.help()                    help on DB methods        db.foo.help()                help on collection methods        db.foo.find()                list objects in collection foo        db.foo.find( { a : 1 } )     list objects in foo where a == 1        it                           result of the last line evaluated; use to further iterate        exit                         quit the mongo shell

(1) MongoDB 會自動創建數據庫(db)和集合(collection),無需顯式執行。
$ ./mongoMongoDB shell version: 1.5.3connecting to: testtype "help" for help> show dbs // 查看當前數據庫列表adminlocal> use blog // 切換到工作數據庫switched to db blog> db // 當前數據庫blog> for (var i = 0; i < 10; i++) db.users.save({name : "user" + i, age : i}) // 插入數據> show dbs // 數據庫 blog 被創建adminbloglocal> show collections // 列表 users 被創建system.indexesusers> db.copyDatabase("blog", "blog2") // 復制數據庫{ "ok" : true }> show dbs // 數據庫 blog2 被創建adminblogblog2local> use blog2 // 切換到 blog2switched to db blog2> show collections // 查看集合列表system.indexesusers> db.users.find() // 查看被復制的數據{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981a"), "name" : "user0", "age" : 0 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981b"), "name" : "user1", "age" : 1 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981c"), "name" : "user2", "age" : 2 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981d"), "name" : "user3", "age" : 3 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981e"), "name" : "user4", "age" : 4 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac2981f"), "name" : "user5", "age" : 5 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac29820"), "name" : "user6", "age" : 6 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac29821"), "name" : "user7", "age" : 7 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac29822"), "name" : "user8", "age" : 8 }{ "_id" : ObjectId("4c33f8fcecf2b9320ac29823"), "name" : "user9", "age" : 9 }> db.dropDatabase() // 刪除數據庫 blog2{ "dropped" : "blog2", "ok" : true }> show dbs // 確認數據庫刪除成功adminbloglocal> use blog // 切換回 blogswitched to db blog> db.users.drop()  // 刪除集合 userstrue> show collections // 確認集合被刪除system.indexes> exitbye

(2) 還可以在多臺服務器之間復制數據庫。
server64$ ./mongoMongoDB shell version: 1.5.3connecting to: testtype "help" for help> use blogswitched to db blog> for (var i = 0; i < 10; i++) db.users.save({name : "user" + i, age : i})> use newsswitched to db news> for (var i = 0; i < 10; i++) db.articles.save({title : "title" + i})> show dbsadminbloglocalnews> exitbye

準備好源數據庫后,我們開始在復制。
server32:$ ./mongoMongoDB shell version: 1.5.4connecting to: test> db.copyDatabase("blog", "blog", "192.168.1.202") // 從源服務器復制 blog 數據庫{ "ok" : true }> show dbs // 復制成功adminbloglocal> use blogswitched to db blog> show collectionssystem.indexesusers> db.users.find(){ "_id" : ObjectId("4c33fadb15b7f104d297e644"), "name" : "user0", "age" : 0 }{ "_id" : ObjectId("4c33fadb15b7f104d297e645"), "name" : "user1", "age" : 1 }{ "_id" : ObjectId("4c33fadb15b7f104d297e646"), "name" : "user2", "age" : 2 }{ "_id" : ObjectId("4c33fadb15b7f104d297e647"), "name" : "user3", "age" : 3 }{ "_id" : ObjectId("4c33fadb15b7f104d297e648"), "name" : "user4", "age" : 4 }{ "_id" : ObjectId("4c33fadb15b7f104d297e649"), "name" : "user5", "age" : 5 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64a"), "name" : "user6", "age" : 6 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64b"), "name" : "user7", "age" : 7 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64c"), "name" : "user8", "age" : 8 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64d"), "name" : "user9", "age" : 9 }> use newsswitched to db news> db.cloneDatabase("192.168.1.202") // 從源服務器克隆當前數據庫(news){ "ok" : true }> show dbsadminbloglocalnews> show collectionsarticlessystem.indexes> db.articles.find(){ "_id" : ObjectId("4c33fb6215b7f104d297e64e"), "title" : "title0" }{ "_id" : ObjectId("4c33fb6215b7f104d297e64f"), "title" : "title1" }{ "_id" : ObjectId("4c33fb6215b7f104d297e650"), "title" : "title2" }{ "_id" : ObjectId("4c33fb6215b7f104d297e651"), "title" : "title3" }{ "_id" : ObjectId("4c33fb6215b7f104d297e652"), "title" : "title4" }{ "_id" : ObjectId("4c33fb6215b7f104d297e653"), "title" : "title5" }{ "_id" : ObjectId("4c33fb6215b7f104d297e654"), "title" : "title6" }{ "_id" : ObjectId("4c33fb6215b7f104d297e655"), "title" : "title7" }{ "_id" : ObjectId("4c33fb6215b7f104d297e656"), "title" : "title8" }{ "_id" : ObjectId("4c33fb6215b7f104d297e657"), "title" : "title9" }> exitbye

(3) 當我們使用 use 切換到某個數據庫時,變量 db 表示當前數據庫。還可以用 getSisterDB() 函數獲取其他數據庫的引用。
> use adminswitched to db admin> dbadmin> blog = db.getSisterDB("blog")blog> blog.users.insert({name : "abc"})> blog.users.find({name : "abc"}){ "_id" : ObjectId("4c3419b0492aa4cfbec11895"), "name" : "abc" }

(4) 調用 fsync 命令,可以強制將內存中緩存數據寫回數據庫文件。如果不想等待,可添加 async 參數異步執行。
> use adminswitched to db admin> db.runCommand({fsync : 1}){ "numFiles" : 6, "ok" : true }> db.runCommand({fsync : 1, async : true}){ "numFiles" : 6, "ok" : true }

(5) 某些時候需要鎖定系統,阻塞所有寫操作,諸如備份、整理數據庫等等。鎖定時讀操作不受影響。
$ ./mongoMongoDB shell version: 1.5.3connecting to: testtype "help" for help> use blogswitched to db blog> admin = db.getSisterDB("admin")admin> admin.runCommand({fsync : 1, lock : 1}) // 鎖定{        "info" : "now locked against writes, use db.$cmd.sys.unlock.findOne() to unlock",        "ok" : true}> db.users.find() // 讀操作正常{ "_id" : ObjectId("4c33fadb15b7f104d297e644"), "name" : "user0", "age" : 0 }{ "_id" : ObjectId("4c33fadb15b7f104d297e645"), "name" : "user1", "age" : 1 }{ "_id" : ObjectId("4c33fadb15b7f104d297e646"), "name" : "user2", "age" : 2 }{ "_id" : ObjectId("4c33fadb15b7f104d297e647"), "name" : "user3", "age" : 3 }{ "_id" : ObjectId("4c33fadb15b7f104d297e648"), "name" : "user4", "age" : 4 }{ "_id" : ObjectId("4c33fadb15b7f104d297e649"), "name" : "user5", "age" : 5 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64a"), "name" : "user6", "age" : 6 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64b"), "name" : "user7", "age" : 7 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64c"), "name" : "user8", "age" : 8 }{ "_id" : ObjectId("4c33fadb15b7f104d297e64d"), "name" : "user9", "age" : 9 }> db.users.save({name : "xyz" }) // 寫操作被阻塞,等待 ...

另開啟一個終端,解除鎖定。
> use adminswitched to db admin> db.$cmd.sys.unlock.findOne(){ "ok" : 1, "info" : "unlock requested" }

解除后,前一終端被阻塞的寫操作正確返回。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 逼逼自拍| 在线美女免费观看网站h | 最近免费中文字幕完整4 | 老司机午夜在线 | 欧美日韩生活片 | 97午夜理伦影院在线观看 | 亚洲人免费视频 | 亚洲欧洲成人 | 美国一级大毛片 | 国内精品视频成人一区二区 | 欧美日韩精品一区二区三区四区 | 久久精品国产精品亚洲精品 | 欧美亚洲日本一区二区三区浪人 | 日本高清在线观看视频www | 欧美日韩高清观看一区二区 | 久久精品桃花综合 | 视频网站高清免费 | 日韩免费高清一级毛片在线 | 嫩草影院在线观看精品视频 | 黄a 大片a v 永久免费 | 日本高清无吗 | 美女一级黄色片 | 国产日韩欧美综合一区 | 亚洲人成网站在线观看播放青青 | 国内一区二区三区精品视频 | 最新自拍偷拍 | 久久99欧美| www.99爱| 在线h网站 | 波多野一区二区三区在线 | 日本成人二区 | 国产72av国片精品jk制服 | 一牛精品视频在线观看免费 | 久久精品六 | 国产jizz18高清视频 | 亚洲精品国产第一区二区多人 | 国产精品久久在线观看 | 亚洲福利一区二区 | hd性欧美俱乐部中文 | 女人18毛片a | 日韩18|