[MONGODB] 조건 MongoDB를 업데이트
MONGODB조건 MongoDB를 업데이트
나는 조건에 따라 내 컬렉션의 일부 필드를 업데이트하기 위해 노력하고있어.
조건이 그렇지 않은 경우는 false에 충실하고 있다면 true로 활성 세트 필드에 원하는
이 조건없이 업데이트입니다
db.consent.update(
{}, //match all
{
$set: {
"active": true
}
},
{
multi: true,
}
)
이 같은 갱신에 조건을 추가하고 싶습니다 :
db.consent.update(
{},
$cond: {
if: {
$eq: ["_id", ObjectId("5714ce0a4514ef3ef68677fd")]
},
then: {
$set: {
"active": true
}
},
else: {
$set: {
"active": false
}
}
},
{
multi: true,
}
)
https://docs.mongodb.org/manual/reference/operator/update-field/에 따르면 업데이트에는 $ 콘드 운영자가 없다.
내 옵션은 하나의 명령으로이 업데이트를 실행하기 위해 여기에 무엇입니까?
해결법
-
==============================
1.당신은 할 수 없습니다.
당신은 할 수 없습니다.
몽고는 업데이트 문에서 조건문 등을 결합 필드를 지원하지 않습니다.
-
==============================
2.당신은 당신이 MongoDB의 버전이있는 경우 findAndModify () 또는 findOneAndUpdate ()를 사용하여 조건부로 MongoDB의 문서를 업데이트 할 수 있습니다 3.2 이상
당신은 당신이 MongoDB의 버전이있는 경우 findAndModify () 또는 findOneAndUpdate ()를 사용하여 조건부로 MongoDB의 문서를 업데이트 할 수 있습니다 3.2 이상
-
==============================
3.몽고 4.2 시작, db.collection.update ()는 마지막으로 다른 필드를 기준으로 필드의 업데이트 / 생성을 허용 집계 파이프 라인을 받아 들일 수 있습니다 :
몽고 4.2 시작, db.collection.update ()는 마지막으로 다른 필드를 기준으로 필드의 업데이트 / 생성을 허용 집계 파이프 라인을 받아 들일 수 있습니다 :
// { a: "Hello", b: "World" } // { a: "Olleh", b: "Dlrow" } db.collection.update( {}, [ { $set: { active: { $eq: [ "$a", "Hello" ] } } } ], { multi: true } ) // { a: "Hello", b: "World", active: true } // { a: "Olleh", b: "Dlrow", active: false }
-
==============================
4.물론 당신은 할 수.... 이 쿼리를 실행하여
물론 당신은 할 수.... 이 쿼리를 실행하여
db.collection.update({condition}, { $set: { state } }, { multi: true }); db.collection.update({!condition}, { $set: { state } }, { multi: false });
귀하의 예제 케이스
db.consent.update( {"_id": ObjectId("5714ce0a4514ef3ef68677fd")}, { $set: { "active": true } }); db.consent.update( {"_id": {$ne: ObjectId("5714ce0a4514ef3ef68677fd")}}, { $set: { "active": false } }, { multi: true });
from https://stackoverflow.com/questions/36698569/mongodb-update-with-condition by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 왜 MongoDB를 사용 인덱스 교차합니까? (0) | 2019.12.25 |
---|---|
[MONGODB] 하여 MongoDB : 너무 많은 위치 (즉 '$') 요소로 발견 (0) | 2019.12.25 |
[MONGODB] 몽구스 연결 (0) | 2019.12.25 |
[MONGODB] 몽구스의 채우기가 포함 된 (0) | 2019.12.25 |
[MONGODB] 노드 - 몽구스 3.6 - 인구 필드 정렬 쿼리 (0) | 2019.12.25 |