Python - 字典中的 pymongo 列表

Python - pymongo list inside dict

我是 python 的新手。

我有:

我正在使用 mongoDb 和 python。使用不同的日期,我想检索该日期的所有评论。

示例数据库:

id|created_time|comment |.....
0 |2014-01-01  | hi!    |......
1 |2014-02-01  | hello! |......
2 |2014-01-01  | bye    |......`

我试过的:

text = db.comments.find(timeout=False)
time = db.comments.distinct('created_time')

#some code
#get all distinct date and put into list
timeArray = []
for allTime in time:
    timeArray.append(allTime)

comDict = {}
for allCom in text:
    global comDict
    if(allCom['created_time'] == timeArray[1]):

        #note i'm used timeArray[1] to test the code.

        comDict.update({allCom['created_time']:allCom['comments']})

print comDict

dict 不能有重复的键,因此 .update 不断更改值而不是附加它,但我不知道其他方法。

我需要的:

{2014-01-01:['hi','bye'], 2014-02-01:['Hello!']}

我希望得到上面的结果,但我不知道该怎么做。谁能告诉我我应该做什么,或者我做错了什么?

提前致谢!

不要在 python 级别上解决它,让 mongodb 使用 aggregate():

对记录进行分组
pipe = [
    {'$match': {'$timeout': False}},
    {'$group': {'_id': '$created_time', 
                'comments': {'$push': '$comments'}}},
]
db.comments.aggregate(pipeline=pipe)

如果你真的想用python:

dict0={}
if not 'date' in dict0.keys(): dict0['date']=[value]
else: dict0['date'].append(value)