[MONGODB] 명령을 삽입하여 MongoDB의 "upsert"옵션이 있습니까?
MONGODB명령을 삽입하여 MongoDB의 "upsert"옵션이 있습니까?
나는이 바보 같은 질문이있을 수 있습니다 알고 있지만, 나는 MongoDB의 삽입에 upsert 옵션이 있다는 것을 전자 책을 읽었다. 나는 이것에 대해 적절한 문서를 찾을 수 없습니다. 누군가가 이것에 대해 저를 교육 할 수 있습니까?
해결법
-
==============================
1.upsert는 "어떤 문서가 쿼리 기준과 일치하지 않는 새 문서를 만듭니다"라는 작업으로 정의되기 때문에 명령 삽입 upsertsin을위한 곳이 없습니다. 이 업데이트 명령에 대한 옵션입니다. 당신이 명령을 실행하면이 문서 일치하는 쿼리, 또는 문서에 삽입 등의 인수로 업데이트로 기술 된 경우는 갱신으로 작동 아래와 같이.
upsert는 "어떤 문서가 쿼리 기준과 일치하지 않는 새 문서를 만듭니다"라는 작업으로 정의되기 때문에 명령 삽입 upsertsin을위한 곳이 없습니다. 이 업데이트 명령에 대한 옵션입니다. 당신이 명령을 실행하면이 문서 일치하는 쿼리, 또는 문서에 삽입 등의 인수로 업데이트로 기술 된 경우는 갱신으로 작동 아래와 같이.
db.collection.update(query, update, {upsert: true})
MongoDB를 3.2 replaceOne를 추가합니다 :
db.collection.replaceOne(query, replacement, {upsert: true})
이는 유사한 행동을 가지고 있지만, 그 교체는 업데이트 연산자를 포함 할 수 없습니다.
-
==============================
2.PKD에서 제공하는 링크에서와 같이, db.collection.insert ()는 더 upsert 가능성을 제공하지 않습니다. 대신 삽입 삽입 몽고 모음에 새 문서. Upsert가 db.collection.update () 및 db.collection.save만을 사용 가능 ().
PKD에서 제공하는 링크에서와 같이, db.collection.insert ()는 더 upsert 가능성을 제공하지 않습니다. 대신 삽입 삽입 몽고 모음에 새 문서. Upsert가 db.collection.update () 및 db.collection.save만을 사용 가능 ().
당신이 컬렉션에 이미있는) (db.collection.insert에 문서를 전달하는 일이 수행되므로 기존 _id 유사 _id가있는 경우, 그것은 중복 키 예외가 발생합니다.
from https://stackoverflow.com/questions/19974216/is-there-an-upsert-option-in-the-mongodb-insert-command by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를에 수집 당 하나 이상의 스키마를 사용하여 (0) | 2019.12.22 |
---|---|
[MONGODB] MongoDB를의 bind_ip은 설정하지 않으면 0.0.0.0으로 작동하지 않습니다 (0) | 2019.12.22 |
[MONGODB] 어떻게 useMongoClient (몽구스 4.11.0)를 설정하는 방법? (0) | 2019.12.22 |
[MONGODB] 몽구스가 : CastError가 : ObjectId가로 캐스트 경로에서 값 "[개체 개체]"실패 "_id" (0) | 2019.12.22 |
[MONGODB] 사용 AngularJS와 및 MongoDB를 / 몽구스 (0) | 2019.12.22 |