mongoDB 투영에서 중복 레코드를 제거하려면 어떻게해야합니까? 나는 다음과 같은 형태로 내 몽고 문서가 있다고 가정하자 - MongoDB : 투영에서 중복 레코드 제거
{"_id":"55555454", "From":"Bob", "To":"Alice", "subject":"Hi", "date":"04102011"}
{"_id":"55555455", "From":"Bob", "To":"Dave", "subject":"Hello", "date":"04102014"}
{"_id":"55555456", "From":"Bob", "To":"Alice", "subject":"Bye", "date":"04112013"}
나는 투사 할 db.col.find({}, {"From":1, "To":1, "_id"=0})
분명 저에게이 같은 세 가지 기록을 줄 것이다 할
. {: "밥", "받는 사람" "에서" "데이브"} { "에서": {: "밥", "받는 사람" "앨리스" "에서"}"밥", "받는 사람": "앨리스"}
그러나 내가 원하는 것은 두 기록,이 방법입니다 -
{"From":"Bob", "To":"Alice"} {"From":"Bob","To":"Dave"}
내 응용 프로그램이 현재 내가 무엇을하고 있는가하는 것은, (pymongo를 사용하여) 파이썬에서와 같이 사용중인 레코드 목록에서 해당 응용 프로그램의 중복을 제거하려고합니다.
result = [dict(tupleized) for tupleized in set(tuple(item.items()) for item in l)]
투영에 적용 할 수있는 DB 방법이 있으며 두 레코드 만 제공합니다.
답변 해 주셔서 감사합니다. 나는 투영이 무엇인지 이해하지만이 후에 더 많은 것을 원한다 - 투영 된 뷰에서 중복 된 아이템을 제거하라! – Adam
@sanj 당신이 쿼리의 항목을 실제로 선택하지 않은 부분을 이해하지 못합니까? 그것은 또한 대답입니다. –
@sanj 중단에도 불구하고 중복되는 경우 실제로 답변을 제공하는 것을 제공합니다. –