MongoDBで新しいオブジェクトを作成し、保存したオブジェクトを取得する方法
MongoDBで新しいオブジェクトを作成し、それをコレクションに保存したり、後から取得して表示したりするには、save()メソッドを使用します。ここでは、mongoシェル上での基本的な手順を具体例とともに解説します。
save()メソッドの基本構文
var 変数名 = 値 db.コレクション名.save(変数名); 変数名;
まず変数にオブジェクトを代入し、その変数をsave()メソッドの引数として渡すことで、指定したコレクションにドキュメントが保存されます。その後、変数名だけを記述して実行すれば、保存された内容(自動採番された_idを含む)を確認できます。
オブジェクトを作成する
それでは、実際に例として学生情報のオブジェクトを作成してみましょう。
> var studentDetails={"StudentName":"Chris","ListOfMarks":[56,78,89],"ListOfSubject":["MySQL","Java","MongoDB"]};この例では、学生名・点数のリスト・科目のリストを持つオブジェクトを変数「studentDetails」に格納しています。
作成したオブジェクトを保存する
次に、先ほど作成したオブジェクト「studentDetails」をsave()メソッドで保存します。
> db.demo40.save(studentDetails);
WriteResult({ "nInserted" : 1 })実行結果として「WriteResult({ "nInserted" : 1 })」が返されれば、1件のドキュメントが正常に挿入されたことを意味します。
保存されたオブジェクトを取得・表示する
続いて、変数名をそのまま指定して値を表示してみましょう。
> studentDetails;
上記のコマンドを実行すると、以下のような出力が得られます。
{
"StudentName" : "Chris",
"ListOfMarks" : [
56,
78,
89
],
"ListOfSubject" : [
"MySQL",
"Java",
"MongoDB"
],
"_id" : ObjectId("5e177757cfb11e5c34d898e2")
}補足:新しいバージョンでの注意点
MongoDB 4.2以降では、save()メソッドは非推奨(deprecated)となっています。代わりに、新規ドキュメントの挿入にはinsertOne()やinsertMany()を、既存ドキュメントの置き換えにはreplaceOne()を使用することが推奨されています。ただし、古いバージョンのMongoDBやレガシーなコードベースでは、上記のようにsave()が使われるケースも多いため、動作の仕組みは理解しておくと役立ちます。
-
JavaScriptでオブジェクトを作成し、プロパティにアクセスする方法を徹底解説
JavaScriptでは、オブジェクトリテラル(波括弧 {})を使うことで、キーと値のペアを持つオブジェクトを簡単に作成できます。作成したオブジェクトのプロパティには、ドット記法(obj.propertyName)やブラケット記法(obj[propertyName])でアクセスします。 以下は、JavaScriptでオブジェクトを作成し、そのプロパティやメソッドにアクセスする具体的なコード例です。 コード例 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta
-
MongoDBで新しいユーザーを作成してロール(役割)を設定する方法
MongoDBでは、db.createUser()メソッドを使うことで、新しいユーザーを作成し、同時にロール(役割)を割り当てることができます。管理者と同等の強力な権限を持つユーザーを作成したい場合は、userAdminAnyDatabaseロールを使用します。このロールは、すべてのデータベースに対するユーザー管理権限を付与する組み込みロールです。ユーザー作成の基本構文以下が、ユーザーを作成してロールを設定するための基本的な構文です。use admin db.createUser( { user: yourUserName, pwd: yourPassw