■ サンプル
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 }