【发布时间】:2014-04-11 12:30:28
【问题描述】:
如何从 mongoDB 投影中删除重复记录? 假设我有以下形式的我的 mongo 文档 -
{"_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"}
由于我的应用程序目前在 python 中(使用 pymongo),我正在做的是我正在使用
从记录列表中删除应用程序中的重复项result = [dict(tupleized) for tupleized in set(tuple(item.items()) for item in l)]
是否有任何数据库方法可以应用于投影并且只给我两条记录。
【问题讨论】:
标签: python sql mongodb pymongo projection