Latest web development tutorials

يتم تحديث وثيقة MongoDB

MongoDB باستخدامالتحديث () وطريقة حفظ ()لتحديث مجموعة من الوثائق. دعونا نلقي نظرة مفصلة على تطبيق والفرق بين الوظيفتين.


التحديث) طريقة (

وتستخدم طريقة التحديث () لتحديث مستند موجود. الصيغة كالتالي:

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

المعلمة الوصف:

  • الاستعلام: تحديث معايير الاستعلام، على غرار استعلام التحديث SQL حيث العمق الداخلية.
  • الأشياء تحديث وبعض مشغلي أحدث (مثل $، $ المؤتمر الوطني العراقي ...) وغيرها، ويمكن أيضا أن يفهم على أنه انتكاسة في استعلام التحديث SQL: تحديث
  • upsert: اختياري، وهذا يعني هذه الحجة هي أنه إذا كان هناك أي تحديث سجل، يتم إدراج objNew، وفيا لإدراج، الافتراضي هو كاذب، لم تدرج.
  • المتعددة: اختياري، mongodb الافتراضي هو زائف، إلا أن العثور على السجل الاول لتحديث، إذا كانت هذه الحجة صحيحة، وفقا للشروط وضعت من العديد من السجلات تحقق كافة التحديثات.
  • writeConcern: يتم طرح استثناء مستوى اختياري.

أمثلة

نحن إدراج عمود جمع البيانات التالية:

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

ثم لدينا لتحديث اللقب طريقة التحديث () (عنوان):

>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 التعليمي" إلى "MongoDB."

فإن العبارة أعلاه تعديل وثيقة عثر عليها في البداية، وإذا كنت ترغب في تحرير المستند نفسه وأكثر من ذلك، تحتاج إلى تعيين المعلمة متعددة إلى true.

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

حفظ طريقة ()

حفظ طريقة () عن طريق تمرير وثائق ليحل محل الدستور الحالي. الصيغة كالتالي:

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

المعلمة الوصف:

  • وثيقة: البيانات وثيقة.
  • writeConcern: يتم طرح استثناء مستوى اختياري.

أمثلة

المثال التالي استبدلنا _ID كما 56064f89ade2f21f36b03136 ثيقة البيانات:

>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": "موافق"}})؛

تحديث كافة:

db.col.update ({ "العد": {$ GT: 3}}، {$ مجموعة: { "TEST2": "موافق"}}، كاذبة، صحيح)؛

فقط إضافة أولا:

db.col.update ({ "العد": {$ GT: 4}}، {$ مجموعة: { "test5": "موافق"}}، صحيح، كاذبة)؛

إضافة جميع أضاف:

db.col.update ({ "العد": {$ GT: 5}}، {$ مجموعة: { "test5": "موافق"}}، صحيح، صحيح)؛

تحديث كافة:

db.col.update ({ "العد": {$ GT: 15}}، {$ المؤتمر الوطني العراقي: { "العد": 1}}، كاذبة، صحيح)؛

تحديث فقط السجل الأول:

db.col.update ({ "العد": {$ GT: 10}}، {$ المؤتمر الوطني العراقي: { "العد": 1}}، كاذبة، كاذبة)؛