Node.js - MongoDB データ插入

こんにちは、未来のプログラマーたち!今日は、Node.jsとMongoDBの世界に兴味深い旅を楽しみましょう。特に、Node.jsを使用してMongoDBにデータを插入する方法を探求します。初めての方でも心配しないでください - 私はおばあちゃんが初めてクッキーを焼く孙に教えるような忍耐強さで、ステップバイステップお手伝いします。

Node.js - MongoDB Insert

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();
});

以下のように分解します:

  1. MongoDBモジュールをインポートしています。
  2. MongoDBサーバーが動作しているURLを指定しています。
  3. connectメソッドを使用して接続を確立しています。
  4. エラーがあれば投げます(悪いリンゴを舍てるように)。
  5. 接続が成功した場合、メッセージをログに記録します。
  6. 最後に、データベース接続を閉じます。

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();
});
});

このコードを分解すると:

  1. データベースに接続します。
  2. myobjオブジェクトを作成し、插入したいデータを設定します。
  3. dbo.collection("customers").insertOne()を使用してオブジェクトを「customers」コレクションに插入します。
  4. 成功した場合、メッセージをログに記録し、接続を閉じます。

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();
});
});

以下のように動作します:

  1. 配列のオブジェクトを作成し、插入したいデータを設定します。
  2. dbo.collection("customers").insertMany()を使用して、すべてのオブジェクトを一度に「customers」コレクションに插入します。
  3. 插入されたドキュメントの数をログに記録し、接続を閉じます。

insertOne()とinsertMany()の比較

これら2つのメソッドの違いをより理解するために、比較表を見てみましょう:

特性 insertOne() insertMany()
ドキュメントの数 単一のドキュメントを插入 複数のドキュメントを插入
入力 単一のオブジェクト オブジェクトの配列
返り値 単一のInsertOneResultオブジェクト InsertManyResultオブジェクト
パフォーマンス 複数のドキュメント插入では遅い 複数のドキュメント插入では速い
使用例 単一のドキュメントを插入する場合 一度に複数のドキュメントを插入する場合

結論

さて、皆さん!Node.jsを使用してMongoDBにデータを插入する方法を無事に学びました。insertOne()は一冊の本を慎重に本棚に置くようなものです。一方、insertMany()は一度に本棚に複数の本を並べるようなものです。

練習は完璧を生みますので、これらのメソッドを試してみてください。異なるデータ型を插入してみたり、insertMany()で一度に何件のドキュメントを插入できるか試してみてください。次の大規模なデータベース駆動アプリケーションを構築するかもしれません!

忘れないでください、すべての専門家もかつては初心者でした。codingを続け、学び続け、そして何より楽しみましょう!次回まで、ハッピーコーディング!

Credits: Image by storyset