到达mongodb中的数组子文档

时间:2015-04-04 14:50:47

标签: python arrays mongodb pymongo

如何使用得分值达到得分数组的最后一个元素:64.8 ??? 我尝试使用$ pull运算符,但我有200个这样的表单文档。所以,我无法使用得分数组的最新元素的精确值。

{
"_id" : 198,
"name" : "Timothy Harrod",
"scores" : [
    {
        "type" : "exam",
        "score" : 11.9075674046519
    },
    {
        "type" : "quiz",
        "score" : 20.51879961777022
    },
    {
        "type" : "homework",
        "score" : 55.85952928204192
    },
    {
        "type" : "homework",
        "score" : 64.85650354990375
    }       ]
} 

1 个答案:

答案 0 :(得分:0)

最简单的方法是将该文档放入python dict中,如果它是字符串格式:

import json
doc_json = json.loads(doc_string)

然后要访问得分数组的最后一个元素,只需执行:

last_element = doc_json['scores'][-1]

['scores']告诉我们从json_doc获取'scores'数组,[-1]告诉我们访问这个'scores'数组的最后一个元素。从那里,如果你想要last_element的分数,你就可以:

last_score = last_element['score']

你也可以直截了当地做到:

last_score = doc_json['scores'][-1]['score']