في MongoDB ، كيف يمكنك استخدام مجموعة $ لتحديث قيمة متداخلة/وثيقة مضمنة؟

StackOverflow https://stackoverflow.com/questions/3828452

  •  26-09-2019
  •  | 
  •  

سؤال

في Mongodb كيف تستخدم $set لتحديث قيمة متداخلة؟

على سبيل المثال ، فكر في مجموعة اشخاص مع الوثيقة التالية:

{
  _id: ObjectId("5a7e395e20a31e44e0e7e284"),
  name: "foo",
  address: { street: "123", town: "bar" }
}

كيف أقوم بتحديث ملف street الحقل مضمن في address وثيقة من "123" ل "Main Street"?

هل كانت مفيدة؟

المحلول

باستخدام تدوين نقاط:

db.people.update({ }, { $set: { "address.street": "Main Street" } })

نصائح أخرى

بالإضافة إلى إجابة نيلز ، تحقق أيضًا من "نوع" القيمة المتداخلة. في حالتي ، كانت "سلسلة" تشكلت من JSON. على الرغم من أن هذا قد يكون غير مرجح ، ولكن تأكد من أن القيمة لها النوع الصحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top