컬렉션 다음 tags
배열의Mongodb에서 기본 유형의 배열을 업데이트하는 방법은 무엇입니까?
post:
title: 'Help'
tags: ['mongodb','foo']
요소는 고유합니다. 모든 foo
태그를 bar
태그로 변경하고 싶습니다. $set
배열의 요소를 한 번에 배열 할 수 있습니까? 아니면 모든 태그 배열에서 foo
을 제거하고 bar
을 추가해야합니까? 당신의 tags
배열이 하나 이상의 foo
값이 포함 된 경우
db.posts.update({ tags: "foo" }, { $set: { "tags.$": "bar" } }, { multi: true});
그러나
는,이 쿼리 그 중 하나을 대체합니다 :
그래서 OP가 필요하다면 요소 수를 N이라면 N + 1 명령을 서버에 대해 실행해야합니다. N –
예, 하나의'tags' 배열에 N 개의'foo' 값이 있으면 true입니다. 하지만 내가 이해하는 한, OP는 특정 배열이 아닌 모든 게시물 모음을 업데이트하려고합니다. – Shad