我正在尝试从代码中名为nr
的Cursor对象的第一个值(items
的最大值)中为nr
赋值{}},但是我我不知道怎么做。(我正在使用flask pymongo。我看到了一个类似于我的问题,但由于我使用不同的数据库,它对我不起作用)。
这是我的代码:
@app.route('/testaree')
def testaree():
prob = mongo.db.prob
items = prob.find().sort("nr", pymongo.DESCENDING)
return flask.jsonify(items)
我的数据库prob
看起来像这样(我想从db集合中为变量分配最大nr
的值):
{
"_id": {
"$oid": "5ae9d062f36d282906c59736"
},
"nr": 1,
"nume": "numeunu",
"enunt": "-",
"datedeintrare": "-",
"datedeiesire": "-"
}
{
"_id": {
"$oid": "5ae9f190f36d282906c5b461"
},
"nr": 2,
"nume": "numedoi",
"enunt": "-",
"datedeintrare": "-",
"datedeiesire": "-"
}
答案 0 :(得分: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)