0

我正在尝试将我的代码中nr命名的 Cursor 对象的第一个值的值items(这是 的最大值nr)分配给一个变量,但我不知道该怎么做。(我正在使用烧瓶 pymongo。我看到了一个类似于我的问题,但它对我不起作用,因为我使用的是不同的数据库)。

这是我的代码:

@app.route('/testaree')
def testaree():
    prob = mongo.db.prob
    items = prob.find().sort("nr", pymongo.DESCENDING)
    return flask.jsonify(items)

我的数据库prob看起来像这样(我试图将nrdb 集合中最大值的值分配给一个变量):

{
    "_id": {
        "$oid": "5ae9d062f36d282906c59736"
    },
    "nr": 1,
    "nume": "numeunu",
    "enunt": "-",
    "datedeintrare": "-",
    "datedeiesire": "-"
}
{
    "_id": {
        "$oid": "5ae9f190f36d282906c5b461"
    },
    "nr": 2,
    "nume": "numedoi",
    "enunt": "-",
    "datedeintrare": "-",
    "datedeiesire": "-"
}
4

1 回答 1

1

您可以使用limit()使数据库仅返回第一个结果,并访问列表中的第一个元素。

items = prob.find().sort("nr", pymongo.DESCENDING).limit(1)
return flask.jsonify(items[0])

编辑:您可以nr按如下方式获得该属性。请注意,类型nr将取决于存储在 mongo 中的类型。在您的评论中,您正在对 int 进行 JSON 编码,因此它将被转换为字符串。

items = prob.find().sort("nr", pymongo.DESCENDING).limit(1)
nr_prop = items[0]["nr"]
print(nr_prop)
flask.jsonify(nr_prop)

或者如果nr不是数据库中的int(应该通过查看问题中的数据):

nr_prop = int(items[0]["nr"])
print(nr_prop)
flask.jsonify(nr_prop)
于 2018-05-03T20:00:50.587 回答