sql >> データベース >  >> NoSQL >> MongoDB

MongoDB insertOne()

    MongoDBでは、db.collection.insertOne() メソッドは、単一のドキュメントをコレクションに挿入します。

    collection partは、ドキュメントを挿入するコレクションの名前です。

    petsというコレクションにドキュメントを挿入する例を次に示します。 :

    db.pets.insertOne( { 
        name: "Scratch", 
        type: "Cat" 
        } )

    結果:

    {
    	"acknowledged" : true,
    	"insertedId" : ObjectId("5fe2d15637b49e0faf1af214")
    }

    db.collection.insertOne() メソッドは以下を含むドキュメントを返します:

    • ブール値のacknowledged trueとして 操作が書き込みの懸念またはfalseで実行された場合 書き込みの懸念が無効になっている場合。
    • フィールドinsertedId _idを使用 挿入されたドキュメントの値。

    ここで、db.collection.find()を使用すると コレクションを見ると、新しく追加されたドキュメントが表示されます。

    db.pets.find().pretty()

    結果:

    {
    	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
    	"name" : "Scratch",
    	"type" : "Cat"
    }

    pretty()も使用しました 読みやすくするためにドキュメントをフォーマットします。

    この場合、コレクション内のドキュメントは1つだけであるため、返されたドキュメントは1つだけです。

    ただし、コレクションが大きい場合は、ID(挿入時にリターンドキュメントで提供されたもの)を使用して、結果をこのドキュメントのみに絞り込むことができます。

    db.pets.find({_id: ObjectId("5fe2d15637b49e0faf1af214")} ).pretty()

    結果:

    {
    	"_id" : ObjectId("5fe2d15637b49e0faf1af214"),
    	"name" : "Scratch",
    	"type" : "Cat"
    }

    コレクションが存在しない場合はどうなりますか?

    コレクションが存在しない場合は、コレクションが作成され、ドキュメントがコレクションに追加されます。

    コレクションがすでに存在する場合は、ドキュメントがコレクションに追加されるだけです。

    この例を作成したとき、コレクションは存在しなかったため、挿入操作で作成されました。

    _id フィールド

    _id fieldは、MongoDBの一意の識別子フィールドです。

    独自の_idを提供できます ドキュメントのフィールド。その場合、その値はコレクション内で一意である必要があります。これは、_idが原因です フィールドは、ドキュメントの一意の識別子として使用されます。

    独自の_idを持つドキュメントを挿入する例を次に示します。 フィールド。

    db.pets.insertOne( { 
        _id: 1,
        name: "Fetch", 
        type: "Dog" 
        } )

    結果:

    { "acknowledged" : true, "insertedId" : 1 }

    それでは、コレクションをもう一度見てみましょう。

    db.pets.find()

    結果:

    { "_id" : ObjectId("5fe2d15637b49e0faf1af214"), "name" : "Scratch", "type" : "Cat" }
    { "_id" : 1, "name" : "Fetch", "type" : "Dog" }

    詳細情報

    db.collection.insertOne() メソッドはwriteConcernも受け入れます 引数。書き込み操作のためにMongoDBから要求される確認応答のレベルを説明します。

    db.collection.insertOne()については、MongoDBのドキュメントを参照してください。 詳細については。


    1. スペースを含むキーを使用してRedisから値を取得するにはどうすればよいですか?

    2. AzureでRedisセッション状態を構成する

    3. Redis接続/バッファサイズの制限を超えました

    4. ノードredisパブリッシャーがメモリを消費しすぎています