mongodb共通コマンド-2(ドキュメントの挿入、ドキュメントの更新)

4288 ワード

MongoDBドキュメントの挿入
ドキュメントのデータ構造はJSONとほぼ同じです.
コレクションに格納されているデータはすべてBSON形式です.
BSONは一種のjsonの一種のバイナリ形式の記憶フォーマットであり、略称はBinary JSONである.
ドキュメントの挿入
MongoDBはinsert()またはsave()メソッドを使用して、次の構文でコレクションにドキュメントを挿入します.
db.COLLECTION_NAME.insert(document)

≪インスタンス|Instance|emdw≫
次のドキュメントは、MongoDBのrunoobデータベースのcolセットに格納できます.
db.col.insert({title: 'MongoDB   ', 
    description: 'MongoDB     Nosql    ',
    by: '     ',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

上記の例ではcolは私たちの集合名です.この集合がデータベースにない場合、MongoDBは自動的にセットを作成し、ドキュメントを挿入します.
挿入されたドキュメントを表示するには、次の手順に従います.
db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB   ", "description" : "MongoDB     Nosql    ", "by" : "    ", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

次のように、データを変数として定義することもできます.
実行後の結果は次のとおりです.
{
        "title" : "MongoDB   ",
        "description" : "MongoDB     Nosql    ",
        "by" : "myself  ",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}

挿入操作を行います.
> db.col.insert(document)
WriteResult({ "nInserted" : 1 })
> 

ドキュメントを挿入してdbを使用することもできます.col.save(document)コマンド.指定しない場合_idフィールドsave()メソッドはinsert()メソッドに似ています.指定した場合idフィールドは、この_を更新します.idのデータ.
MongoDB更新ドキュメント
MongoDBはupdate()メソッドとsave()メソッドを使用してコレクション内のドキュメントを更新します.次に、2つの関数の応用とその違いを詳しく見てみましょう.
update()メソッド
update()メソッドは、既存のドキュメントを更新するために使用されます.構文の形式は次のとおりです.
db.collection.update(
   ,
   ,
   {
     upsert: ,
     multi: ,
     writeConcern: 
   }
)

パラメータの説明:
  • query:updateのクエリー条件.sql updateクエリー内のwhereの後ろに似ています.
  • update:updateのオブジェクトと更新されたオペレータ($,$inc...)など、sql updateクエリ内setの後の
  • と理解することもできる.
  • upsert:オプションです.このパラメータの意味は、updateのレコードが存在しない場合、objNewを挿入するかどうか、trueは挿入で、デフォルトはfalseで、挿入しません.
  • multi:オプション、mongodbのデフォルトはfalseで、見つかった最初のレコードのみを更新し、このパラメータがtrueであれば、条件によって検出された複数のレコードをすべて更新します.
  • writeConcern:オプションで、例外のレベルを放出します.

  • ≪インスタンス|Instance|emdw≫
    コレクションcolに次のデータを挿入します.
    db.col.insert({
        title: 'MongoDB   ', 
        description: 'MongoDB     Nosql    ',
        by: '    ',
        url: 'http://www.runoob.com',
        tags: ['mongodb', 'database', 'NoSQL'],
        likes: 100
    })

    次にupdate()メソッドを使用してタイトル(title)を更新します.
    db.col.update({'title':'MongoDB   '},{$set:{'title':'MongoDB'}})
    WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })   #     
    db.col.find().pretty()
    {
            "_id" : ObjectId("56064f89ade2f21f36b03136"),
            "title" : "MongoDB",
            "description" : "MongoDB     Nosql    ",
            "by" : "    ",
            "url" : "http://www.runoob.com",
            "tags" : [
                    "mongodb",
                    "database",
                    "NoSQL"
            ],
            "likes" : 100
    }
          (title)     "MongoDB   "      "MongoDB"。
    
                    ,             ,      multi     true。
    db.col.update({'title':'MongoDB   '},{$set:{'title':'MongoDB'}},{multi:true})

    save()メソッド
    save()メソッドは、入力されたドキュメントによって既存のドキュメントを置き換えます.構文の形式は次のとおりです.
    db.collection.save(
       ,
       {
         writeConcern: 
       }
    )

    パラメータの説明:
  • document:ドキュメントデータ.
  • writeConcern:オプションで、例外のレベルを放出します.