我只想更新该数组中的第n个位置,而不是更新数组中的所有值。
<svg width="0" height="0">
<symbol id="circle" viewBox="0 0 2 2">
<circle cx="1" cy="1" r=".7" />
</symbol>
<symbol id="square" viewBox="0 0 2 2">
<path fill="darkorange" d="M.5 .5 H1.5 V1.5 H.5z" />
</symbol>
</svg>
<p>
<svg width="50" height="50"><use xlink:href="#circle" /></svg>
<svg width="50" height="50"><use xlink:href="#circle" fill="teal" stroke="red" stroke-width=".1"/></svg>
<svg width="50" height="50"><use xlink:href="#square" /></svg>
<svg width="50" height="50"><use xlink:href="#square" fill-opacity=".5"/></svg>
</p>
在这里,能否请您告诉我如何将“冷”值更新为“发烧”,其余都一样。
我已经知道另一种存档方法,但是使用此方法我必须更新数组中的所有值:
db.patient.insertMany([
{firstName: "Thanga",lastName:"Durai", age:27,history:{disease:["Cold","ulergy"]}}]);
有人可以告诉我如何仅将感冒更新为发烧吗?
答案 0 :(得分:1)
尝试
db.patient.update(
{
"firstName":"Thanga",
"history.disease":"Cold"
},
{
$set:{
"lastName":"Yuvi",
"age":28,
"history.disease.0":"Fever"
}
})
答案 1 :(得分:0)
您可以在此处利用the positional operator的优势,它将通过指定的disease
标准与特定的"history.disease"
相匹配
db.patient.updateOne(
{ firstName:"Thanga","history.disease":"Cold"},
{ $set:{lastName:"Yuvi","age":28,"history.disease.$":"Fever"}})