iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
Modern Web

Node.js系列 第 25

DAY 25 建立MongoDB資料庫

  • 分享至 

  • xImage
  •  

DAY 25 建立MongoDB資料庫

{%hackmd BJrTq20hE %}

tags: 第 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/

https://www.mongodb.com/cloud/atlas/lp/try4?utm_content=rlsavisitor&utm_source=google&utm_campaign=search_gs_pl_evergreen_atlas_core_retarget-brand_gic-null_apac-all_ps-all_desktop_eng_lead&utm_term=mongodb&utm_medium=cpc_paid_search&utm_ad=e&utm_ad_campaign_id=14412646476&adgroup=131761130812&gclid=Cj0KCQjw1vSZBhDuARIsAKZlijRXrs0Okugpp7MLbg0pi5Zmqtgc7gdbUUlhJGt1g3fJx6Y08W4rgu8aAn9bEALw_wcB


上一篇
DAY 24 MongoDB!NoSQL會用鍵盤就會打的資料庫!
下一篇
DAY 26 Redis什麼都會又大又便宜?
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言