PyMongo在全文搜索中选择字段

Skh*_*haz 1 python full-text-search mongodb pymongo mongodb-query

伙计们,
我试图在find方法上使用fields参数,但收到以下错误代码:

TypeError: __init__() got multiple values for keyword argument 'fields'
Run Code Online (Sandbox Code Playgroud)

码:

mongo.db.products.find({ '$text': { '$search': string } }, { 'score': { '$meta': 'textScore' } }, fields=('name', 'foo', 'bar',))
Run Code Online (Sandbox Code Playgroud)

如果没有全文搜索,fields参数可以正常工作。

Nei*_*unn 5

对于pymongo,“ textScore”的“投影部分”需要以完整形式包含在“ fields”规范中:

mongo.db.products.find(
    { '$text': { '$search': string } },
    fields=({ 'name': 1, 'foo': 1, 'bar': 1, 'score': { '$meta': 'textScore' } )
)
Run Code Online (Sandbox Code Playgroud)