更具体地说,
我用Phisongo用这个脚本将数据加载到Mongodb中。
header = ['id', 'info']
for each in reader:
row={}
for field in header:
row[field]=each[field]
db.segment.insert_one(row)
id列具有唯一的用户ID,Info列由嵌套的json组成。 例如,这是db
中的数据集{
u'_id': ObjectId('111'),
u'id': u'123',
u'info': {
"TYPE": "food",
"dishes":"166",
"cc": "20160327 040001",
"country": "japan",
"money": 3521,
"info2": [{"type"; "dishes", "number":"2"}]
}
}
我想要做的是读取嵌套json格式的值。 所以我做的是......
pipe = [{"$group":{"_id":"$id", "Totalmoney":{"$sum":"$info.money"}}}]
total_money = db.segment.aggregate(pipeline=pipe)
但是对于每个id,sum的结果总是为“0”。 我究竟做错了什么?我该怎么办呢? 我必须使用mongodb,因为数据大小太大而无法由python
处理提前谢谢你。