民间,
我尝试在 find 方法上使用 fields 参数,我得到了以下错误代码:
TypeError: __init__() got multiple values for keyword argument 'fields'
代码:
mongo.db.products.find({ '$text': { '$search': string } }, { 'score': { '$meta': 'textScore' } }, fields=('name', 'foo', 'bar',))
如果没有全文搜索,字段参数可以正常工作。
答案 0 :(得分:5)
对于pymongo,'textScore'的“投影部分”需要以完整形式包含在“fields”规范中:
mongo.db.products.find(
{ '$text': { '$search': string } },
fields=({ 'name': 1, 'foo': 1, 'bar': 1, 'score': { '$meta': 'textScore' } )
)