Python Eve 自定义端点,但数据来自数据库
Python Eve Custom Endpoints, but with data pulled from database
我正在使用 Python Eve 制作 RSS Reader。我有一个这样声明的用户模式:
user_info_schema = {
'username':{
'type': 'string'
},
'feeds':{
'type': 'list',
}
}
所以在列表中我有一个 RSS 提要 url 列表。我想制作一个自定义端点,从 url 中获取 RSS 内容并显示它们供我的客户端使用。所以我写:
@app.route('/api/username/<_id>/feeds')
def view_feed_content(_id):
users = app.data.driver.db['users']
a = users.find_one({'_id':_id})
print(a)
return "Test"
但我一无所获。每次我尝试从我的数据库中获取数据时,它都会失败,我的所有查询 return None。我已经尝试对我所有的数据库集合、各种不同的查询执行此操作。我只是无法获得 "find" 我的数据库的自定义端点。我做错了什么?
我认为您需要更改查找以查找类型为 ObjectId
的 _id
,如下所示:
from bson.objectid import ObjectId
a = users.find_one({'_id': ObjectId(_id)})
我正在使用 Python Eve 制作 RSS Reader。我有一个这样声明的用户模式:
user_info_schema = {
'username':{
'type': 'string'
},
'feeds':{
'type': 'list',
}
}
所以在列表中我有一个 RSS 提要 url 列表。我想制作一个自定义端点,从 url 中获取 RSS 内容并显示它们供我的客户端使用。所以我写:
@app.route('/api/username/<_id>/feeds')
def view_feed_content(_id):
users = app.data.driver.db['users']
a = users.find_one({'_id':_id})
print(a)
return "Test"
但我一无所获。每次我尝试从我的数据库中获取数据时,它都会失败,我的所有查询 return None。我已经尝试对我所有的数据库集合、各种不同的查询执行此操作。我只是无法获得 "find" 我的数据库的自定义端点。我做错了什么?
我认为您需要更改查找以查找类型为 ObjectId
的 _id
,如下所示:
from bson.objectid import ObjectId
a = users.find_one({'_id': ObjectId(_id)})