[
{
u"_id": ID('1234'),
u"attributes": {u"FN": u"John", u"LN": u"De"},
u"refs": {
u"entries": {
u"id": [u"aa1", u"3da", u"42q"],
u"type": u"Info"
}
}
},
{
u"_id": ID('1278'),
u"attributes": {u"FN": u"Trey", u"LN": u"Mullens"},
u"refs": {
u"entries": {
u"id": [u"aa1", u"3d4", u"42q"],
u"type": u"Info"
}
}
}
]
从上面的dicts列表中,我想创建一个函数来查找ID为1234和1278的两个记录中refs下的每个条目,即条目的计数。我正面临着解析dict的问题。从Mongo中提取数据。我目前要做的是创建一个接受上面数据的函数,这是mongo DB中的一个集合,第二个参数是我想要达到的数据,即refs.entries。我正在使用mongo的find函数来解析数据。任何支持将受到高度赞赏。以下是代码 -
def fun(data, tar):
result = {}
i, j = tar.split('.')
for item1 in data.find({},{'_id':0, tar:1}):
for item in item1[i][j].strip("[]").split(','):
item = item.strip()
if item in result:
result[item] += 1
else:
result[item] = 1
return result
答案 0 :(得分:0)
数据是一个dicts列表,需要转换为JSON或其他方式JSON编码。
import json
dict_obj = [{'a': 'b', 'c': 'd', 'e': {'1': 2}}, {1: 2, 2: 3}]
# encode to a JSON formatted str
encoded = json.dumps(r)
# encode to JSON formatted steam to file
with open(filename, 'w') as f:
json.dump(f, dict_obj)
ID类对象也需要JSON可序列化,否则dump会抛出错误。如果您的ID类不是JSON可序列化的,那么您首先必须使ID类JSON可序列化为here所述。