Latest web development tutorials

MongoDBのドキュメントが更新されます

MongoDBはupdate()を使用して文書のコレクションを更新する()メソッドを保存します。 アプリケーションとの二つの機能の違いを詳しく見てみましょう。


update()メソッド

update()メソッドは、既存のドキュメントを更新するために使用されます。 構文は次のとおりです。

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

パラメータ説明:

  • 問合せ:SQL更新クエリ内側後に類似更新クエリ基準、。
  • 更新:更新オブジェクトと(例えば$、$株式会社...など)の新しい演算子などのいくつかは、また戻ってSQL更新クエリ内の集合として理解することができます
  • アップサート:オプション、この引数を意味するには、レコードの更新がない場合、挿入する場合はtrue objNewを、挿入され、デフォルトが挿入されていない、falseであることです。
  • マルチ:オプション、MongoDBのデフォルトは、この引数は、すべての更新を確認する多くのレコードを出した条件に応じて、trueの場合のみ、最初のレコードを更新するために見つけるために、falseです。
  • writeConcern:任意のレベルの例外がスローされます。

当社は、以下のデータ収集COLを挿入します。

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '本教程',
    url: 'http://www.w3big.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

その後、我々はupdate()メソッド(タイトル)でタイトルを更新する必要があります。

>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.w3big.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

あなたは、元の「MongoDBのチュートリアル "Updateからタイトル(タイトルを)見ることができる「MongoDBの。」

あなたが同じドキュメントを編集したい場合は、上記の文は、最初に見つかったドキュメントを変更し、より多くの、あなたがtrueにマルチパラメータを設定する必要があります。

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

()メソッドを保存

既存のドキュメントを交換するために文書を渡すことによって、()メソッドを保存します。 構文は次のとおりです。

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

パラメータ説明:

  • 文書:文書データ。
  • writeConcern:任意のレベルの例外がスローされます。

:私たちは56064f89ade2f21f36b03136文書データとして_idを交換し、次の例

>db.col.save({
	"_id" : ObjectId("56064f89ade2f21f36b03136"),
    "title" : "MongoDB",
    "description" : "MongoDB 是一个 Nosql 数据库",
    "by" : "w3big",
    "url" : "http://www.w3big.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

交換が成功した後、我々は()検索により、交換後にデータを表示するために命令することができます

>db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一个 Nosql 数据库",
        "by" : "w3big",
        "url" : "http://www.w3big.com",
        "tags" : [
                "mongodb",
                "NoSQL"
        ],
        "likes" : 110
}
> 

より多くの例

最初のレコードだけを更新します。

db.col.update({ "数":{$はGT:1}}、{$セット:{ "TEST2": "OK"}});

すべてを更新します。

db.col.update({ "数":{$はGT:3}}、{$セット:{ "TEST2": "OK"}}、偽、真)。

最初の追加:

db.col.update({ "数":{$のGT:4}}、{$セット:{ "TEST5": "OK"}}、真、偽)。

すべての追加を追加します。

db.col.update({ "数":{$のGT:5}}、{$セット:{ "TEST5": "OK"}}、真の、真の);

すべてを更新します。

db.col.update({ "数":{$のGT:15}}、{$株式会社:{ "数":1}}、偽、真)。

最初のレコードだけを更新します。

db.col.update({ "数":{$のGT:10}}、{$株式会社:{ "数":1}}、偽、偽)。