Python 3.x “如何修复”;TypeError:如果未指定方向,则键“U”或“U列表必须是列表的实例”;
我有一个Python 3.x “如何修复”;TypeError:如果未指定方向,则键“U”或“U列表必须是列表的实例”;,python-3.x,mongodb,Python 3.x,Mongodb,我有一个类型错误:如果没有指定方向,则键\u或\u list必须是list的一个实例。我已经创建了方法create_index,我希望这个函数能够搜索mongodb中的字段名 我曾尝试添加.sort('recipe',pymongo.ASCENDING),但这不起作用。我仍然在这一行中遇到相同的错误: total = mongo.db.recipe.create_index({'$text': {'$search': db_query }}) 我的搜索方法代码: @app.route('/se
类型错误:如果没有指定方向,则键\u或\u list必须是list的一个实例。我已经创建了方法create_index
,我希望这个函数能够搜索mongodb中的字段名
我曾尝试添加.sort('recipe',pymongo.ASCENDING)
,但这不起作用。我仍然在这一行中遇到相同的错误:
total = mongo.db.recipe.create_index({'$text': {'$search': db_query }})
我的搜索方法代码:
@app.route('/search')
def search():
"""Route for full text search bar"""
page_limit = 6 #Logic for pagination
current_page = int(request.args.get('current_page', 1))
db_query = request.args['db_query']
total = mongo.db.recipe.create_index({'$text': {'$search': db_query }})
t_total = len([x for x in total])
pages = range(1, int(math.ceil(t_total / page_limit)) + 1)
results = mongo.db.recipe.find({'$text': {'$search': db_query }}).sort('_id', pymongo.ASCENDING).skip((current_page - 1)*page_limit).limit(page_limit)
return render_template('search.html', results=results, pages=pages, current_page=current_page, db_query=db_query)
我希望搜索功能可以搜索我的数据库,例如在网站上,如果我键入'rice',它应该搜索rice receip,而不是我得到的“TypeError:如果没有指定方向,key_或_list必须是list的一个实例”。有什么建议吗?当你按下搜索键时,你想看到所选的单词。你
应该尝试获取API,以便在搜索任何关键字时,可以调用数据库中的特定id,然后搜索关键字
{
receip.find({keyword: request.query.keyword, active: true})
}
尝试将其包装到列表中,例如:
db.recipe.create_索引([('field_here',pymongo.ASCENDING)])