1
MongoDB의 배열 요소를 업데이트하는 데 문제가 있습니다. 이것은 문서의 구조입니다 :MongoDB 문서에서 배열 요소를 업데이트하는 방법
{
"_id" : ObjectId("57e2645e11c979157400046e"),
"site" : "BLABLA",
"timestamp_hour" : 1473343200,
"values" : [
{
"1473343200" : 66
},
{
"1473344100" : 230
},
{
"1473345000" : 479
},
{
"1473345900" : 139
}
]
}
이제 "1473345900"키를 사용하여 요소를 업데이트하고 싶습니다. 어떻게해야합니까? 나는 시도했다 :
{
"_id" : ObjectId("57e2645e11c979157400046e"),
"site" : "BLABLA",
"timestamp_hour" : 1473343200,
"values" : [
{
"1473343200" : 66
},
{
"1473344100" : 230
},
{
"1473345000" : 479
},
0
]
}
내가 잘못 무엇 :
db.COLLECTIONNAME.update({"values.1473345900": {$exists:true}}, {$set: {"values.$": 0}})
그러나 문서처럼 보이는 그 이후
? 1473345900 값을 임의의 값으로 업데이트하고 싶습니다 ... 전체 요소를 업데이트하고 싶지 않습니다 ...감사합니다.
문제는 다음과 같습니다. ** ** 1473345900 **이 이미 존재하는지 모르겠습니다. 그래서 1) ** 1473345900 **이 있는지 알아야하고 2) ** 1473345900 ** 값을 업데이트해야합니다. 죄송합니다. 설명해 드리지 못했습니다 ... – tmieruch
'db.sites.update ({ "values.1473345900": {$ exists : true}}, {$ set : { "values. $. 1473345900": 0}}) '그렇게 할 것입니다. Thx, Chridam !!! – tmieruch