0
"replacedStatus"필드에 쿼리가 업데이트되기 전에 필드 상태에서 차지한 값을 동적으로 전달하기 위해 고심하고 있습니다. 변수 $ 상태을 집계 쿼리에 사용 된 것처럼 사용하려고 시도했지만 작동하지 않습니다. 업데이트 될 문서의 값이 $ 상태인데 실제로 업데이트 전 상태가 아닙니다. 저는 Mongodb의 2.6.9 버전을 사용하고 있습니다.mongodb가 현재 값 재사용을 업데이트했습니다.
나는 당신이 나를 도울 수 있다면 내가 사람을 감사하겠습니다이
db.getCollection('charges').
update({
'supports.dest': ObjectId("5880eb0c426c9b0400e1016a"),
"date": {
"$gte": new Date(2017, 11),
"$lt": new Date(2017, 12)
},
"status": {
"$nin": ["Captured"]
}
}, {
"$set": {
"status": "BillingSuspended",
"replacedStatus": "$status"
},
"$push": {
"logs": {
"replacedStatus": "Captured",
"date": new Date('2017-12-13T22:00:00.000Z')
}
}
}, {
"multi": true
})
을 시도하고있다.
나는 다음과 같은 오류 @dnickless있어 : 스크립트를 실행하지 못했습니다 다음은 당신이 가야한다. 오류 : 개체에 upsert 및 multi를 지정할 때 네 번째 인수가 비어 있어야합니다. : [email protected]/mongo/shell/collection.js : 522 : 1 [email protected]/mongo/shell/collection.js : 552 : 18 @ (셸) : 1 : 1 –
제 잘못, 해결책에 불필요한 괄호가 생겼습니다. 다시 시도하십시오. 죄송 해요. – dnickless
@dnickless 나를 도우려고 고맙다고했지만 지금 다음과 같은 오류가 발생했습니다 : " '상태'와 '상태'를 동시에 업데이트 할 수 없습니다." –