Node.js から MongoDB への接続テスト
結局、前記事(上記関連記事)の「The file system cache of this machine is configured to be greater than 40% of the total memory.」はまだ消えていません。とりあえず、Node.js からデータベースに接続してみようと思います。
まず、MongoDB を起動しておきます。ただ、まだ認証できるユーザを作っていませんので、WARNING を出したままで進みます。
>mongod --dbpath c:\mongodb\data
もうひとつコマンドプロンプトを立ち上げ、


適当なフォルダをつくり、移動して npm init で package.json をつくり、mongodb のドライバーモジュールをインストールします。
01MongoDB に接続
以下のチェック用スクリプトは、Quick Start にあります。
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'myproject';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db(dbName);
client.close();
});

接続されています。
02ドキュメントの挿入
const insertDocuments = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Insert some documents
collection.insertMany([
{a : 1}, {a : 2}, {a : 3}
], function(err, result) {
assert.equal(err, null);
assert.equal(3, result.result.n);
assert.equal(3, result.ops.length);
console.log("Inserted 3 documents into the collection");
callback(result);
});
}
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'myproject';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db(dbName);
insertDocuments(db, function() {
client.close();
});
});
3つのドキュメントを挿入する関数 insertDocument を書き加え呼び出します。

03ドキュメントの取得
const findDocuments = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Find some documents
collection.find({}).toArray(function(err, docs) {
assert.equal(err, null);
console.log("Found the following records");
console.log(docs)
callback(docs);
});
}
全てのドキュメントを取得する関数を書き加えます。
findDocuments(db, function() {
client.close();
});
呼び出しのメソッドを書き換えます。

挿入を2回繰り返していますの6個のドキュメントが挿入されています。
といった感じで、リンク先の Quick Start にはドキュメントの選択取得、更新、削除、インデックス化のサンプルコードがあります。