Node.js - MongoDB データ插入
こんにちは、未来のプログラマーたち!今日は、Node.jsとMongoDBの世界に兴味深い旅を楽しみましょう。特に、Node.jsを使用してMongoDBにデータを插入する方法を探求します。初めての方でも心配しないでください - 私はおばあちゃんが初めてクッキーを焼く孙に教えるような忍耐強さで、ステップバイステップお手伝いします。
MongoDBとは?
データ插入の详细に進む前に、MongoDBが何かを少し理解しましょう。巨大なデジタルな書類保管庫を思い浮かべてください。そこには色々な情報を保存できます。それがMongoDBの本質です - データを柔軟なJSON風の形式、BSON(バイナリJSON)で保存するデータベースです。
環境の設定
まず第一に、コンピュータにNode.jsとMongoDBがインストールされているか確認しましょう。まだしていない場合、オーブンや材料なしで料理を試みるようなものです!公式のNode.jsとMongoDBのウェブサイトにアクセスしてインストールしてください。
その後、Node.js用のMongoDBドライバーをインストールする必要があります。ターミナルを開いて(怖くないですよ、コンピュータとテキストベースで話すだけです)、以下のコマンドを入力してください:
npm install mongodb
このコマンドは、コンピュータにMongoDBパッケージを買ってくるよう指示するものです。
MongoDBとの接続
データを插入する前に、MongoDBデータベースへの接続を確立する必要があります。以下のようにします:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("データベースを作成しました!");
db.close();
});
以下のように分解します:
- MongoDBモジュールをインポートしています。
- MongoDBサーバーが動作しているURLを指定しています。
-
connect
メソッドを使用して接続を確立しています。 - エラーがあれば投げます(悪いリンゴを舍てるように)。
- 接続が成功した場合、メッセージをログに記録します。
- 最後に、データベース接続を閉じます。
MongoDBにデータを插入する
接続が設定されたので、insertOne()
とinsertMany()
の2つの主要なメソッドを使用してMongoDBにデータを插入する方法を見てみましょう。
insertOne()メソッド
insertOne()
メソッドは、本棚に一冊の本を慎重に置くようなものです。これにより、コレクションに単一のドキュメントを插入できます。以下のように動作します:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = { name: "John Doe", address: "Highway 37" };
dbo.collection("customers").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 ドキュメントが插入されました");
db.close();
});
});
このコードを分解すると:
- データベースに接続します。
-
myobj
オブジェクトを作成し、插入したいデータを設定します。 -
dbo.collection("customers").insertOne()
を使用してオブジェクトを「customers」コレクションに插入します。 - 成功した場合、メッセージをログに記録し、接続を閉じます。
insertMany()メソッド
複数の本を一度に本棚に追加したい場合、insertMany()
メソッドが便利です。このメソッドを使用すると、一度に複数のドキュメントを插入できます:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = [
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{ name: 'Amy', address: 'Apple st 652'}
];
dbo.collection("customers").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("插入されたドキュメントの数: " + res.insertedCount);
db.close();
});
});
以下のように動作します:
- 配列のオブジェクトを作成し、插入したいデータを設定します。
-
dbo.collection("customers").insertMany()
を使用して、すべてのオブジェクトを一度に「customers」コレクションに插入します。 - 插入されたドキュメントの数をログに記録し、接続を閉じます。
insertOne()とinsertMany()の比較
これら2つのメソッドの違いをより理解するために、比較表を見てみましょう:
特性 | insertOne() | insertMany() |
---|---|---|
ドキュメントの数 | 単一のドキュメントを插入 | 複数のドキュメントを插入 |
入力 | 単一のオブジェクト | オブジェクトの配列 |
返り値 | 単一のInsertOneResultオブジェクト | InsertManyResultオブジェクト |
パフォーマンス | 複数のドキュメント插入では遅い | 複数のドキュメント插入では速い |
使用例 | 単一のドキュメントを插入する場合 | 一度に複数のドキュメントを插入する場合 |
結論
さて、皆さん!Node.jsを使用してMongoDBにデータを插入する方法を無事に学びました。insertOne()
は一冊の本を慎重に本棚に置くようなものです。一方、insertMany()
は一度に本棚に複数の本を並べるようなものです。
練習は完璧を生みますので、これらのメソッドを試してみてください。異なるデータ型を插入してみたり、insertMany()
で一度に何件のドキュメントを插入できるか試してみてください。次の大規模なデータベース駆動アプリケーションを構築するかもしれません!
忘れないでください、すべての専門家もかつては初心者でした。codingを続け、学び続け、そして何より楽しみましょう!次回まで、ハッピーコーディング!
Credits: Image by storyset