find_one查询只返回字段而不是条目

时间:2017-07-10 21:55:01

标签: mongodb mongodb-query pymongo

我目前正在尝试使用pymongo的find_one查询。当我运行Mongo Shell并执行findOne查询时,它会获得一个返回的文档。但是当我尝试使用pymongo的find_one查询时,我似乎总是得到字段名而不是实际的条目。

@app.route("/borough/manhattan/")
def manhattan():
    restaurantmanhattan = restaurants.find_one({'borough':'Manhattan'})
    json_restaurantmanhattan = []
    for restaurant in restaurantmanhattan:
        json_restaurantmanhattan.append(restaurant)
    json_restaurantmanhattan = json.dumps(json_restaurantmanhattan)
    return json_restaurantmanhattan

导航到http://0.0.0.0:5000/borough/manhattan/后,我得到以下内容:

["cuisine","borough","name","restaurant_id","grades","address","_id"]

我相信我应该会看到一个文件条目,该文件条目符合该市区列出的曼哈顿的查询。

我不知道如何编写查询来返回它。 任何人都可以解释我所看到的内容吗?

1 个答案:

答案 0 :(得分:0)

view

有很多问题

首先,您可能已经知道,find_one将单个文档作为Python字典返回。所以在你的for循环中,你迭代字典键。

你真的不需要 for loop

import json


@app.route("/borough/manhattan/")
def manhattan():
    restaurant_manhattan = restaurants.find_one({'borough':'Manhattan'})
    return json.dumps(restaurant_manhattan)