1

我只想更新该数组中的第 n 个位置,而不是更新数组中的所有值。 db.patient.insertMany([ {firstName: "Thanga",lastName:"Durai", age:27,history:{disease:["Cold","ulergy"]}}]);

在这里,你能告诉我如何将值“Cold”更新为“Fever”,仍然是一样的。

我已经知道另一种存档方法,但是使用它我必须更新数组中的所有值: db.patient.updateOne({firstName:"Thanga","history.disease":"Cold"}, {$set:{lastName:"Yuvi","age":28,"history.disease":["Fever","Ulergy"]}} )

有人可以告诉我如何只将感冒更新为发烧吗?

4

1 回答 1

1

尝试这个

db.patient.update(
  {
    "firstName":"Thanga",
    "history.disease":"Cold"
  }, 
  {
    $set:{
      "lastName":"Yuvi",
      "age":28,
      "history.disease.0":"Fever"
   }
  })
于 2019-05-06T12:52:15.870 回答