업데이트 명령에 대한 더 나은 간단한 조건을 만들려고합니다. 그러나 나는 내가 검색 캠페인이 모든 사용자를 가져올 수있는 방법을 알아낼 수 없습니다 :배열 내의 필드를 찾고 업데이트하십시오.
"data" : "a name",
"campaigns" : [
{ "id" : ObjectId("4ff3f07eacf4794426000154"), "name" : "test" },
{ "id" : ObjectId("4ff3f07eacf4794426000154"), "name" : "fisk test2" }
]
는 내가하고 싶은 것은 어쩌면 "OS 2,012"을 "테스트"를 업데이트하는 것입니다. 아마 사용자가의 배열이 다른 캠페인을 제거하는 것입니다 해당 업데이트 문
db.users.update({"campaigns.name": "test"}, {$set : {campaigns: {'test' : 'OS 2012'}}});
문제 :
이 작업을 수행하려면,이 비슷한을 사용하는 줄 알았는데? 나는 단지 "test2"를 "test2"로 업데이트하고 싶습니다. 그리고 지금 당장은 $ pull과 $ addToSet을 먼저 사용하는 것이 가장 좋습니다.
더 좋은 방법이 있습니까? 예를 보여줄 수 있습니까?
당신에게 조언과 더 나은 지혜를 주셔서 감사합니다.
'campaigns' 컬렉션이 있습니까? 나는 그것이 '사용자'였지만. –
죄송합니다. – Ms01
'db.users.find ({ "campaigns.name": "test"})'가 작동하지 않는다는 것은 무엇을 의미합니까? 나를 위해 일합니다. –