【发布时间】:2014-09-15 06:34:35
【问题描述】:
所以我对 MongoDB 比较陌生。这是一个具有以下格式的虚构数据库。
{
"_id": "message_id",
"headers": {
"from": <from_email>,
"to": <to_email>,
"timestamp": <timestamp>
},
"message": {
"message": <the message contents>,
"signature": <signature contents>
}
}
假设收到的所有电子邮件都插入其中,有时电子邮件会重复发送。如何在没有任何双重发送的情况下返回作者的电子邮件集合。
我认为这可能会做到,但它似乎没有按预期工作:
db.mycoll.find({"headers.from": <authorname>}).distinct("message.message")
编辑: 请原谅,我似乎一直在打错字,上面的查询有效,但它只返回没有标题的messages.messages,我如何保持标题完好无损?
【问题讨论】:
-
运行时有什么问题? distinct() 是集合对象具有的函数 - 看起来 find() 返回一个列表,而不是 mongodb 集合。我会尝试运行它在几个..
标签: python mongodb mongodb-query aggregation-framework pymongo