English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このNode.jsチュートリアルでは、insertOne()とinsertMany()メソッドを使用して、例を通じてNode.jsアプリケーションからMongoDBコレクションに1つまたは複数のドキュメントを挿入する方法を学びます。
以下は、ステップバイステップのガイドと、Node.jsアプリケーションからMongoDBコレクションにドキュメントを挿入する例を提供します。
MongoDBサービスを起動します。以下のコマンドを実行してMongoDBサービスを起動します。
sudo service mongod start
MongoDBサービスの基本URLを取得します。MongoDBサービスの基本URLを知るための簡単な方法は、ターミナルを開いてMongo Shellを実行することです。
Terminal - Mongo Shell
arjun@nodejs:~$ mongo MongoDB shell version v3.4.9 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.9 Server has startup warnings: 2017-10-29T18:15:36.110+0530 I STORAGE [initandlisten]
Mongo Shellが起動すると、MongoDBの基本URLをエコーします。
mongodb://127.0.0.1:27017
完全なURLを準備します。接続するデータベース名(例えばnewdb)を基本URLに付加します。
mongodb://127.0.0.1:27017/newdb
MongoClientを作成します。
var MongoClient = require('mongodb').MongoClient;
URLの助けによりMongoClientでMongoDBサーバーに接続します。
MongoClient.connect(url, <callback_function>);
MongoClientの接続試行が完了すると、コールバック関数はエラーとdbオブジェクトを引数として受け取ります。
接続が成功した場合、dbオブジェクトはデータベースnewdbを指します。
指定のMongoDBコレクションにドキュメントを挿入します。以下はNode.jsからMongoDBコレクションにドキュメントを挿入するためのinsertOne()とinsertMany()メソッドの構文です。
insertOne()
db.collection(<collection_name>).insertOne(<document>, <callback_function>)
insertMany()
db.collection(<collection_name>).insertMany(<documents_array>, <callback_function>)
参数说明:
<collection_name> - 我们要创建的新MongoDB集合的名称
<document> - 必须插入到MongoDB Collection中的单个文档
<document_array> - 要插入到MongoDB Collection中的文档数组
<callback_function> - 在Node尝试创建集合并准备好结果之后,将调用此Node.js回调函数。回调函数接收错误和结果对象作为参数。
// 我们在newdb数据库中创建“用户”集合 var url = "mongodb://localhost:27017/newdb"; // 创建一个客户端到mongodb var MongoClient = require('mongodb').MongoClient; // 使客户端连接到mongo服务 MongoClient.connect(url, function(err, db) { if (err) throw err; // db指向newdb console.log("Switched to "+db.databaseName+" database"); // 挿入するファイル var doc = { name: "Roshan", age: "22" }; // 使用insertOne将文档插入“用户”集合 db.collection("users").insertOne(doc, function(err, res) { if (err) throw err; console.log("Document inserted"); // 完了後にdbとの接続を閉じます db.close(); }); });
出力結果
$ node node-js-mongodb-insert-document.js Switched to newdb database Document inserted
Mongo Shell
> use newdb switched to db newdb > show collections users > db.users.find({}); { "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" } >
// 我们在newdb数据库中创建“用户”集合 var url = "mongodb://localhost:27017/newdb"; // 创建一个客户端到mongodb var MongoClient = require('mongodb').MongoClient; // 使客户端连接到mongo服务 MongoClient.connect(url, function(err, db) { if (err) throw err; // db指向newdb console.log("Switched to "+db.databaseName+" database"); // 挿入するファイル var docs = [{ name: "Udat", age: "21" }, { name: "Karthik", age: "24" }, { name: "Anil", age: "23" }]; // insertOneを使用して「ユーザー」コレクションに複数のドキュメントを挿入 db.collection("users").insertMany(docs, function(err, res) { if (err) throw err; console.log(res.insertedCount+" documents inserted"); // 完了後にdbとの接続を閉じます db.close(); }); });
出力結果
$ node node-js-mongodb-insert-many-documents.js Switched to newdb database 3 documents inserted
Mongo Shell
> db.users.find({}); { "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" } { "_id" : ObjectId("5a1278efecc5062794f4ed8d"), "name" : "Udat", "age" : "21" } { "_id" : ObjectId("5a1278efecc5062794f4ed8e"), "name" : "Karthik", "age" : "24" } { "_id" : ObjectId("5a1278efecc5062794f4ed8f"), "name" : "Anil", "age" : "23" } >
最初のエントリは最初のサンプルから来ており、残りの3つはこのサンプルと一緒に挿入されています。
このNode.js MongoDBチュートリアルでは: Node.js - MongoDBコレクションにDocument(s)を挿入、mongodbパッケージを使用してNode.jsアプリケーションからinsertOne()とinsertMany()メソッドで1つのまたは複数のドキュメントをMongoDBコレクションに挿入する方法を学びました。次のチュートリアルであるNode.js MongoDB Findで、MongoDBコレクションからドキュメントをクエリする方法を学びます。