MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBコレクションに新しいドキュメントを挿入する方法:insert()とsave()の使い方を実例で解説

MongoDBコレクションへのドキュメント挿入の基本

MongoDBのコレクションに新しいドキュメントを挿入するには、insert()メソッドまたはsave()メソッドを使用します。それぞれの構文と具体的な使い方を見ていきましょう。

ケース1:insert()メソッドを使う

基本構文は以下の通りです。

db.yourCollectionName.insert(yourDocument);

ケース2:save()メソッドを使う

基本構文は以下の通りです。

db.yourCollectionName.save(yourDocument);

どちらの構文でも重要なポイントがあります。指定したコレクション名がまだ存在しない場合、MongoDBは自動的に新しいコレクションを作成し、そこへドキュメントを挿入してくれます。

実際の挿入クエリ例

ケース1:insert()メソッドの場合

新しいドキュメントを挿入するクエリは次のようになります。

> db.userInformation.insert({
    ... "Name":"John",
    ... Age:30,
    ... isStudent:false,
    ... "Subjects":["Introduction to java","Introduction to MongoDB"]
    ...
});

実行結果は以下の通りです。

WriteResult({ "nInserted" : 1 })

この例では、「userInformation」というコレクションがすでに存在しているため、MongoDBは新たにコレクションを作成せず、既存のコレクションにドキュメントを挿入しています。

ケース2:save()メソッドの場合

次に、save()メソッドを使ってドキュメントを挿入するクエリを見てみましょう。

> db.employee.save({"EmployeeName":"Larry",Salary:180000,Age:25,
    ... "Address":({"CountryName":"US","CityName":"New York"})
    ... });

実行結果は以下の通りです。

WriteResult({ "nInserted" : 1 })

このクエリでは「employee」というコレクションは存在していません。そのため、MongoDBが自動的に「employee」コレクションを作成し、新しく作られたコレクションの中にドキュメントを挿入します。

作成されたコレクションの確認方法

現在データベース内に存在するすべてのコレクション名を表示するには、showコマンドを使用します。

> show collections;

実行結果:

employee
userInformation

このように、createCollection()を明示的に呼び出していなくても、「employee」コレクションが自動的に作成されていることが確認できます。MongoDBはドキュメントの挿入時に、対象のコレクションが存在しなければ自動的に生成してくれる便利な仕組みを持っています。

補足:新しいバージョンでの推奨メソッド

MongoDB 3.0以降では、単一ドキュメントの挿入にはinsertOne()、複数ドキュメントの一括挿入にはinsertMany()の使用が推奨されています。また、save()メソッドは非推奨(deprecated)となっているため、新規開発ではinsertOne()replaceOne()への置き換えを検討するとよいでしょう。

> db.employee.insertOne({
    ... "EmployeeName":"Larry",
    ... Salary:180000,
    ... Age:25,
    ... "Address":{"CountryName":"US","CityName":"New York"}
    ... });
  1. MySQLにDECIMAL型(小数値)を挿入する方法を徹底解説

    MySQLでDECIMAL型を使うには MySQLデータベースに小数値を挿入する場合は、カラムのデータ型としてDECIMAL型を定義します。DECIMAL型は金額のように誤差が許されない数値を正確に格納したい場合に最適なデータ型です。 DECIMAL型の基本構文 テーブル作成時に、次の構文でDECIMAL型のカラムを定義できます。 yourColumnName DECIMAL(総桁数, 小数点以下の桁数); 第1引数は全体の有効桁数、第2引数はそのうち小数点以下に割り当てる桁数を表します。たとえば DECIMAL(4,2) なら「最大4桁・うち小数点以下2桁」、すなわち「-99.99 ~ 9

  2. JavaでMongoDBコレクションにドキュメントを挿入する方法を徹底解説

    MongoDBでは、insert()メソッドを使うことで、既存のコレクションにドキュメントを挿入できます。 構文 db.coll.insert(doc) 各要素の意味は以下の通りです。 db: 接続先のデータベース coll: ドキュメントを挿入するコレクション名 doc: 挿入したいドキュメント mongoシェルでの実行例 > use myDatabase() switched to db myDatabase() > db.createCollection(sample) { "ok" : 1 } > db.sample.insert({name: