[MONGODB] 새 문서에 삽입 그렇지 않으면이있는 경우 어떻게 업데이트?
MONGODB새 문서에 삽입 그렇지 않으면이있는 경우 어떻게 업데이트?
자바 스크립트 / Node.js를 새로운 문서에 삽입 그렇지 않으면이있는 경우 어떻게 업데이트? 사전 _id가 업데이트해야합니다 포함되어있는 경우 나 다른 원격 서버에 삽입, 기능 사전에 매개 변수로 받고 있습니다 (I는 몽구스를 통해 원격 서버와의 연결이와 나는 / 업데이 트를 삽입 할 사람 스키마가).
해결법
-
==============================
1.몽구스, 당신은 문서 당 Person.update를 사용하십시오. false로 같은 옵션 해시 기본값 : 이미 존재하지 않는 경우 문서를 만들려면 {사실 upsert} 통과해야합니다.
몽구스, 당신은 문서 당 Person.update를 사용하십시오. false로 같은 옵션 해시 기본값 : 이미 존재하지 않는 경우 문서를 만들려면 {사실 upsert} 통과해야합니다.
즉
Person.update( { name : 'Ted' }, { name : 'Ted', age : 50 }, { upsert : true }, callback );
-
==============================
2.upsert와 collection.update : 사실. 여기 참조하십시오.
upsert와 collection.update : 사실. 여기 참조하십시오.
-
==============================
3.[db.collection.replaceOne (필터, 여분 옵션)]와 upsert : 참
[db.collection.replaceOne (필터, 여분 옵션)]와 upsert : 참
예를 들면 여기에서:
try { db.restaurant.replaceOne( { "name" : "Pizza Rat's Pizzaria" }, { "_id": 4, "name" : "Pizza Rat's Pizzaria", "Borough" : "Manhattan", "violations" : 8 }, { upsert: true } ); } catch (e){ print(e); }
-
==============================
4.파이썬의 경우 :
파이썬의 경우 :
import pymongo client = pymongo.MongoClient("mongodb_address") db = client.db_name collection = db[collection_name] # update 'data' if 'name' exists otherwise insert new document collection.find_one_and_update({"name": some_name}, {"$set": {"data": some_data}}, upsert=True)
from https://stackoverflow.com/questions/21342747/how-to-update-if-exists-otherwise-insert-new-document by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 색인 / RAM 관계 (0) | 2019.12.17 |
---|---|
[MONGODB] $ tolower를를 사용하여 업데이트 MongoDB를 수집 (0) | 2019.12.17 |
[MONGODB] 자바 스크립트 문자열에 OBJECTID (MongoDB를를) 변환 (0) | 2019.12.17 |
[MONGODB] 우리는 봄 부트를 사용하여 MongoDB를위한 자동 생성 된 필드를 만들 수있는 방법 (0) | 2019.12.17 |
[MONGODB] 어떻게하여 MongoDB의 범위 쿼리를 사용하여 페이지 매김을 할? (0) | 2019.12.17 |