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

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()が使われるケースも多いため、動作の仕組みは理解しておくと役立ちます。

  1. JavaScriptでオブジェクトを作成し、プロパティにアクセスする方法を徹底解説

    JavaScriptでは、オブジェクトリテラル(波括弧 {})を使うことで、キーと値のペアを持つオブジェクトを簡単に作成できます。作成したオブジェクトのプロパティには、ドット記法(obj.propertyName)やブラケット記法(obj[propertyName])でアクセスします。 以下は、JavaScriptでオブジェクトを作成し、そのプロパティやメソッドにアクセスする具体的なコード例です。 コード例 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta

  2. MongoDBで新しいユーザーを作成してロール(役割)を設定する方法

    MongoDBでは、db.createUser()メソッドを使うことで、新しいユーザーを作成し、同時にロール(役割)を割り当てることができます。管理者と同等の強力な権限を持つユーザーを作成したい場合は、userAdminAnyDatabaseロールを使用します。このロールは、すべてのデータベースに対するユーザー管理権限を付与する組み込みロールです。ユーザー作成の基本構文以下が、ユーザーを作成してロールを設定するための基本的な構文です。use admin db.createUser( { user: yourUserName, pwd: yourPassw