如何解决“ TypeError:如果未指定方向,则key_or_list必须是list的实例”

时间:2019-06-08 13:19:03

标签: python-3.x mongodb

我有一个“ TypeError:如果未指定方向,则key_or_list必须是list的实例”。我已经创建了create_index方法,因为我希望此函数搜索mongodb中的字段名称。

我尝试添加.sort('recipe',pymongo.ASCENDING),但这不起作用,我仍然收到错误消息:“ TypeError:如果未指定方向,则key_or_list必须是列表的实例”

total = mongo.db.recipe.create_index({'$ text':{'$ search':db_query}})

我的代码:

@ app.route('/ search') def search():     “”“全文搜索栏的路线”“”     page_limit = 6#分页逻辑     current_page = int(request.args.get('current_page',1))     db_query = request.args ['db_query']     总计= mongo.db.recipe.create_index({'$ text':{'$ search':db_query}})     t_total = len([x代表x总数])     页数= range(1,int(math.ceil(t_total / page_limit))+1)     结果= mongo.db.recipe.find({'$ text':{'$ search':db_query}})。sort('_ id',pymongo.ASCENDING).skip((current_page-1)* page_limit).limit (page_limit)     返回render_template('search.html',结果=结果,页面=页面,当前页面=当前页面,db_query = db_query)

我希望搜索功能可以在我的数据库中进行搜索,例如,如果我键入“ rice”,则应该在网站上搜索它,但是应该搜索“米饭收据”,而我收到“ TypeError:如果未指定方向,则key_or_list必须是list的实例” 。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

尝试将其包装在列表中,例如:

// snakes

答案 1 :(得分:0)

当您按下搜索键时,您想看到所选的单词 应该尝试从那里获取API,以便在搜索任何关键字时可以调用数据库中的垂直ID,然后搜索关键字 {

receip.find({keyword: request.query.keyword, active: true})

}