어제 mongodb 작업을 시작했습니다. 저는 1 억 개와 3 억 개의 문서를 가진 동일한 데이터베이스에 두 개의 콜렉션을 가지고 있습니다. 두 번째 컬렉션의 문서에서 문서의 값을 찾을 수없는 경우 한 컬렉션에서 문서를 제거하고 싶습니다. 어쩌면 이것을 좀 더 명확하게하기 위해 아래에 파이썬/mongodb 의사 코드를 제공했습니다. 이것이 올바른 구문이 아니라는 것을 알고 있습니다. 이 기록이 많이 있으며 그 내 노트북 :다른 컬렉션에있는 값을 기반으로 컬렉션에서 문서 제거
for doc_ONE in db.collection_ONE:
if doc_ONE["arbitrary"] not in [doc_TWO["arbitrary"] for doc_TWO in db.collection_TWO]:
db.collection_ONE.remove({"arbitrary": doc_ONE["arbitrary"]})
에 나는이이 경우 빠른 몽고의 CLI에서 수행되는 미세 이대로 가장 효율적인 방법을 찾고 있어요. 이것을 읽어 주셔서 고마워요. 그리고 제발 열심히 권해주십시오. document["arbitrary"]
가 immuable 값인 경우
참고 :'document'는 의사 코드에 두 번 나타납니다. 혼란 스럽습니다. =>'doc_one'과'doc_two'의 이름을 바꿀 수 있습니까? –