我昨天開始使用mongodb。我在同一個數據庫中有兩個集合,包含1億和3億個文檔。如果在第二個集合的任何文檔中找不到文檔中的值,我想刪除一個集合中的文檔。爲了讓這個更清晰,我在下面提供了python/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做,如果快。感謝您閱讀本文,請不要讓我難以忍受哈哈。
注意:''文件'出現兩次在你的僞代碼中,令人困惑。你可以重命名=>「doc_one」和「doc_two」嗎? –