■ 初期設定
1)MongoDB をインストールする 2)Node.jsの MongoDB ライブラリをインストールする
1)MongoDBをインストールする
を参考に MongoDB をインストールする
2)Node.jsのMongoDBライブラリをインストールする
https://dk521123.hatenablog.com/entry/2018/06/13/234315
で行った npm でインストールする npm install mongodb
■ サンプル
settings.js
exports.port='18080'; exports.host='127.0.0.1'; exports.db='nodedb';
hellonode.js
// MongoDBジュールを呼び出す
var mongoDb = require('mongodb');
var mongoClient = mongoDb.MongoClient;
// 外部ファイルから取得
var settings = require('./settings.js');
mongoClient.connect("mongodb://" + settings.host + "/" + settings.db,
function(error, client) {
if (error) {
return console.dir(error);
}
console.log("Connected to DB...");
var db = client.db(settings.db);
db.collection("users", function(error, collection) {
if (error) {
return console.dir(error);
}
var dataset = [
{id: 1, name: "Mike", score: 64},
{id: 2, name: "Tom", score: 98},
{id: 3, name: "Smith", score: 25},
{id: 4, name: "Kevin", score: 67}
];
// INSERT
collection.insert(dataset, function(error, result) {
console.dir(result);
});
// SELECT - 1
collection.find().toArray(function(err, items) {
console.log(items);
});
// SELECT1 - '
collection.find({name: "Mike"}).toArray(function(err, items) {
console.log(items);
});
// SELECT - 2
var stream = collection.find().stream();
stream.on("data", function(items) {
console.log(items);
});
stream.on("end", function() {
console.log("Done");
});
});
});
動作確認
実行結果
$ node hellomongo.js
Connected to DB... { result: { ok: 1, n: 4 }, ops: [ { id: 1, name: 'Mike', score: 64, id: [Object] }, { id: 2, name: 'Tom', score: 98, id: [Object] }, { id: 3, name: 'Smith', score: 25, id: [Object] }, { id: 4, name: 'Kevin', score: 67, id: [Object] } ], insertedCount: 4, insertedIds: { '0': ObjectID { bsontype: 'ObjectID', id: [Object] }, '1': ObjectID { bsontype: 'ObjectID', id: [Object] }, '2': ObjectID { bsontype: 'ObjectID', id: [Object] }, '3': ObjectID { bsontype: 'ObjectID', id: [Object] } } } [ { id: 5b25d31535efee3a429de75b, id: 1, name: 'Mike', score: 64 }, { id: 5b25d31535efee3a429de75c, id: 2, name: 'Tom', score: 98 }, { id: 5b25d31535efee3a429de75d, id: 3, name: 'Smith', score: 25 }, { id: 5b25d31535efee3a429de75e, id: 4, name: 'Kevin', score: 67 } ] [ { id: 5b25d31535efee3a429de75b, id: 1, name: 'Mike', score: 64 } ] { id: 5b25d31535efee3a429de75b, id: 1, name: 'Mike', score: 64 } { id: 5b25d31535efee3a429de75c, id: 2, name: 'Tom', score: 98 } { id: 5b25d31535efee3a429de75d, id: 3, name: 'Smith', score: 25 } { _id: 5b25d31535efee3a429de75e, id: 4, name: 'Kevin', score: 67 } Done
** MongoDB内を確認する **
mongo
MongoDB shell version v3.6.5 ・・・略・・・
show dbs ・・・略・・・ nodedb 0.000GB
use nodedb switched to db nodedb
show collections users
db.users.find(); { "id" : ObjectId("5b25d31535efee3a429de75b"), "id" : 1, "name" : "Mike", "score" : 64 } { "id" : ObjectId("5b25d31535efee3a429de75c"), "id" : 2, "name" : "Tom", "score" : 98 } { "id" : ObjectId("5b25d31535efee3a429de75d"), "id" : 3, "name" : "Smith", "score" : 25 } { "id" : ObjectId("5b25d31535efee3a429de75e"), "id" : 4, "name" : "Kevin", "score" : 67 }
# 参考文献 https://qiita.com/mimizq/items/76d3a948acb33881c8db # 関連記事 ** Node.js ~ 基礎知識 / 環境構築編 ~ ** https://dk521123.hatenablog.com/entry/2018/06/05/211900