MongoDBは、ドキュメントの更新を更新します

MongoDBのドキュメントの更新

MongoDBは使用して  アップデートを()  と  ()セーブ  文書のコレクションを更新する方法を。アプリケーションとの二つの機能の違いを詳しく見てみましょう。


update()メソッド

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

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

パラメータ:

  • クエリ :クエリの更新、SQLのUPDATEクエリ内の背に似ています。
  • 更新 :更新オブジェクトと新しい演算子(例えば、$、$株式会社です...)などのいくつかは、SQL更新クエリの背後にあるセットとして理解することができます。
  • アップサート :挿入された真objNewを挿入するかどうか、何のレコード更新がない場合は省略可能で、このパラメータは、意味、デフォルトはfalseで、挿入されていません。
  • マルチ :このパラメータは条件がすべての更新をチェックするために多くのレコードを置くによると、真であればオプション、MongoDBのデフォルトでは、唯一見つかった最初のレコードを更新し、falseです。
  • writeConcern :オプション、スローレベルの例外。

私たちは、COLに設定された次のデータを挿入します。

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一个 Nosql 数据库',
    by: '菜鸟教程',
    url: 'http://www.runoob.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.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>

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

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

>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" : "Runoob",
    "url" : "http://www.runoob.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})

交換が成功した後、我々は()コマンドは、findを置き換えることで、データを表示するには、することができます

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

より多くの例

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

db.col.update({ "カウント":{$はGT:1}}、{$セット:{ "TEST2": "OK"}})。

すべてのアップデート:

db.col.update({ "カウント":{$はGT:3}、{$セット:{ "TEST2": "OK"}}、FALSE、TRUE);

最初の追加:

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

すべてはそれに追加しました:

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

すべてのアップデート:

db.col.update({ "カウント":{$のGT:15}}、{$ INC:{ "カウント":1}}、FALSE、TRUE);

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

db.col.update({ "カウント":{$のGT:10}}、{$ INC:{ "カウント":1}}、偽、偽)。

おすすめ

転載: blog.csdn.net/cxu123321/article/details/93307005