MongoDB 快速筆記
這幾年 Web Service 的龐大需求,對資料庫的要求是快速且吞吐量大,因此業界開始流行 NoSQL,它省略最花時間的資料庫操作和複雜的結構,用最合人類使用需求的方式在儲存資料,其帶來的好處,當然就是能提供極速的反應和龐大的資料吞吐量。目前最廣為人知的就是 BigTable,Google 提供全世界快速搜尋和各種線上服務,靠的就是這 NoSQL Database。
其實 NoSQL Database 的選擇非常多,但本文只是記錄 MongoDB 的操作筆記,因此就不詳述。 有興趣的人,可以去查閱網路上更多的資料。
選擇 Database:
use my_database
利用 root 新增 Database 的管理帳號:
# 切換到 my_database use my_database # 先用 root 帳號認證 db.getSisterDB("admin").auth("root", "rootpassword"); # 新增 frankie 帳號 db.addUser("frankie", "fredpassword");
新增 Database 的管理帳號:
# 切換到 my_database use my_database # 先用 frankie 帳號認證 db.auth("frankie", "fredpassword"); # 新增 zombie 帳號 db.addUser("zombie", "zombiepassword");
插入新增資料(Insert):
# 插入一筆新資料到 users Collection (相當於傳統 SQL 裡的 Table 角色) db.users.insert({ username: "fred", password: "12345678" }) # 含當前時間 db.users.insert({ username: "fred", password: "12345678", created: new Timestamp() })
查詢(Query):
# 查詢所有 username 為 fred 的資料 db.users.find({ username: "fred" }) # 查詢單筆 db.users.find_one({ username: "fred" })
修改更新資料(Update):
# 更新 username 為 fred 的 password 欄位 db.users.update({ username: "fred" }, { $set: { password: "87654321" }}) # 完全取代 username 為 fred 的資料(username 和 password 欄位會因此不見,只剩下 email 欄位) db.users.update({ username: "fred" }, { email: "cfsghost@gmail.com"})
刪除資料(Delete):
db.users.remove({ username: "fred" })
很棒的文章,受益良多
回覆刪除