1. インストール
インストール用のファイルを設定。
sudo vim /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
インストールを実施。
sudo yum -y install mongodb-org
JavascriptからMongoDBを利用するためのドライバーを追加。
npm install mongodb
2. データベース準備
2-1. データベース作成
use testdb
※DBが存在しない場合、自動的に作られる。
2-2. コレクション作成(テーブルのようなもの)
db.createCollection('testCollection')
3. プログラムから利用
3-1. INSERT
obj
に登録したいデータを入れたらOKです。
レコードごとにカラム(フィールド)が異なっていても登録できます。
例えば、一行目は「name, age」、二行目は「name, address」ということも出来ます。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("testdb");
var obj = { name: "Company Inc", address: "Highway 37" };
// ----------------------------------------------------------------------
// INSERT
// ----------------------------------------------------------------------
dbo.collection("testCollection").insertOne(obj , function(err, res) {
if (err) throw err;
db.close();
});
});
ターミナルで node insert.js
を実行。
3-2. SELECT
obj
に検索条件のキーと値を入れてfind
に渡すと取得できます。
結果はresult
に入っています。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("testdb");
var obj = {name: "Company Inc"};
// ----------------------------------------------------------------------
// SELECT
// ----------------------------------------------------------------------
dbo.collection("testCollection").find(obj).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
ターミナルで node select.js
を実行。
3-3. UPDATE
where
に更新条件のキーと値を入れます。
set
に更新したいキー(カラム名)と値を入れます。
updateMany
の第一引数にwhere
、第二引数にset
を渡すと、
条件に合致するドキュメント(レコード)がすべて更新されます。
$set
というキーの値として、更新用のオブジェクトを指定することで、
特定のフィールド(カラム)のみ更新することが出来ます。
※$setを利用しないとレコードがまるごと更新用のオブジェクトで上書きされます。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("testdb");
var where = {name: "Company Inc"};
var set = {$set: {address: "update address!"}};
// ----------------------------------------------------------------------
// UPDATE
// ----------------------------------------------------------------------
dbo.collection("testCollection").updateMany(where, set, function(err, result) {
if (err) throw err;
console.log("update");
db.close();
});
});
ターミナルで node update.js
を実行。
3-4. DELETE
where
に削除条件のキーと値を入れます。
deleteMany
の第一引数に渡すと、条件に合致するドキュメント(レコード)がすべて削除されます。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("testdb");
var where = {address: "update address!"};
// ----------------------------------------------------------------------
// DELETE
// ----------------------------------------------------------------------
dbo.collection("testCollection").deleteMany(where, function(err, result) {
if (err) throw err;
console.log("delete");
db.close();
});
});
ターミナルで node delete.js
を実行。