$addToSet
은 배열에만 추가하는 것처럼 보이며 해시에 해시를 추가 할 수 있습니까?
{
"a"=>"1",
"b"=>"2",
"c"=>{"d"=>"3"}
}
{
"a"=>"1",
"b"=>"2",
"c"=>{"d"=>"3","e"=>"4"}
}
에 그리고 루비는 현 것이다. 하지만 나는이 문제를 해결하는 데 도움이 될만한 무엇이든지 괜찮습니다.
$addToSet
은 배열에만 추가하는 것처럼 보이며 해시에 해시를 추가 할 수 있습니까?
{
"a"=>"1",
"b"=>"2",
"c"=>{"d"=>"3"}
}
{
"a"=>"1",
"b"=>"2",
"c"=>{"d"=>"3","e"=>"4"}
}
에 그리고 루비는 현 것이다. 하지만 나는이 문제를 해결하는 데 도움이 될만한 무엇이든지 괜찮습니다.
예, $addToSet
은 배열에서 사용하기위한 것입니다. 당신은
db.collection.update(query, {$set: {'c.e': '4'}});
당신은 $addToSet
필요하지 않습니다, 해시 (즉, BSON 객체)에만 주어진 키 중 하나를 가질 수 있기 때문에 $set
및 점 표기법을 필요로 - 이미 키 (안 값에 대한 설정 의미를 가지고, 하나).
BSON 개체 내의 하위 개체를 업데이트하려면 Sergio에서 제안하는대로 $set
을 사용해야합니다.