{%hackmd BJrTq20hE %}
第 14 屆 iThome 鐵人賽 (2022)
昨天概述了MongoDB的概論,文件導向的資料庫管理系統,其文件資料模型支援JSON格式與快速的查詢語法使工程師易於學習與使用,可觀的是MongoDB支援多種不同程式語言驅動,也就是說除了Javascript是MongoDB受眾,基本上能夠編成的語言都能夠使用MongoDB這種NoSQL語言
要開始資料庫管理,當然要先有個資料庫,首先建立一個MongoClient物件
然後設定好指定的URL和通訊阜編號。如果資料庫不存在,MongoDB就會建立資料庫並建立連結。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/books";
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
console.log("資料庫建立!");
db.close();
});
如果資料已經存在的話,就會跟著function(err,db)
報錯,然後我們使用createCollection()
方法來建立集合
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/books';
MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {
if (err) throw err;
console.log('資料庫創建');
var dbase = db.db("books");
dbase.collection('site', function (err, res) {
if (err) throw err;
console.log("創建集合!");
db.close();
});
});
以下程式我們連接資料庫 books的site表,並插入一筆資料。使用insertOne()實現:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("books");
var myobj = { name: "Node.js", url: "www.books" };
dbo.collection("site").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("文件插入成功");
db.close();
});
});
從輸出結果來看,資料以插入成功。已可以開啟MongoDB的用戶端檢視資料。
從來沒有接觸過NoSQL的資料庫,就算是也是在Python上的Django,但也絲毫不接近,
Node.js這種將JS前端程式改成可以執行後端的伺服器方真的很厲害,這裡推薦學習資料庫的也可以使用看看MongoDB Compass
https://www.mongodb.com/products/