[MONGODB] 삽입 또는 갱신하여 MongoDB의 upsert 그랬다면 확인
MONGODB삽입 또는 갱신하여 MongoDB의 upsert 그랬다면 확인
나는 명백한 장소 중 하나의 문서에이를 찾을 수 없습니다. 나는 몽고가 upsert 작업에 삽입 또는 업데이트를 실행하면 알 수 있는지 알고 싶습니다?
해결법
-
==============================
1.예, 안전 호출 (또는 getLastError)에 업데이트 기능은 upsert 필드와 updatedExisting 필드와 배열이 반환된다.
예, 안전 호출 (또는 getLastError)에 업데이트 기능은 upsert 필드와 updatedExisting 필드와 배열이 반환된다.
http://php.net/manual/en/mongocollection.insert.php 바닥을 향해 : 당신이 여기의 PHP 버전을 읽을 수 있습니다.
이 문서 내에서 말하기를 upserted에 :
upserted 새로운 레코드의 _ID를 포함 그래서 삽입이 수행 된 경우 또는 레코드를 업데이트 한 경우는 updatedExisting을 증가합니다.
나는 비슷한 일이 모든 드라이버에 나타납니다 확신합니다.
사실은 참 또는 거짓의 updatedExisting 필드에 부울 될 것입니다
-
==============================
2.참조 용으로 만, Node.js를에서 :
참조 용으로 만, Node.js를에서 :
collection.update( source, target, { upsert: true }, function(err, result, upserted) { ... });
-
==============================
3.몽구스 3.6을 사용 Node.js를 참조 만 들어 :
몽구스 3.6을 사용 Node.js를 참조 만 들어 :
model.update( findquery, updatequery, { upsert: true }, function(err, numberAffected, rawResponse) { ... });
rawResponse은 다음과 같습니다 어디는 기존 문서를 업데이트 한 경우 :
{ updatedExisting: true, n: 1, connectionId: 222, err: null, ok: 1 }
이 새 문서를 만들 때 그리고 그것은 다음과 같습니다 :
{ updatedExisting: false, upserted: 51eebc080eb3e2208a630d8e, n: 1, connectionId: 222, err: null,
(두 경우는 numberAffected = 1을 반환)
-
==============================
4.대답은 "MongoDB를 응용 디자인 패턴"책에서 찍은 ! upsert이 삽입 여부 결정 또는 갱신
대답은 "MongoDB를 응용 디자인 패턴"책에서 찍은 ! upsert이 삽입 여부 결정 또는 갱신
from https://stackoverflow.com/questions/13955212/check-if-mongodb-upsert-did-an-insert-or-an-update by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를이 - 권한 소켓 거부 : /tmp/mongodb-27017.sock를 (0) | 2019.12.18 |
---|---|
[MONGODB] MongoDB의에서 당신은 어떻게 중첩 된 값 / 포함 된 문서를 업데이트 $ 세트를 사용합니까? (0) | 2019.12.18 |
[MONGODB] 삽입 (), insertOne ()와 insertMany () 메소드의 차이점은 무엇입니까? (0) | 2019.12.18 |
[MONGODB] BasicDBObject의 값을 추출하여 MongoDB (자바) (0) | 2019.12.18 |
[MONGODB] 어떻게 문자열에서 날짜 데이터 형식으로 변환하는? (0) | 2019.12.18 |