python - PyMongo 在全文搜索中选择字段

标签 python mongodb mongodb-query full-text-search pymongo

各位,
我试图在 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',))

在没有全文搜索的情况下,fields 参数工作正常。

最佳答案

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

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

关于python - PyMongo 在全文搜索中选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373429/

相关文章:

python - tf.keras.losses 中 "BinaryCrossentropy"和 "binary_crossentropy"的区别?

node.js - 如何使用聚合索引

database - 与基于磁盘的 NoSQL 数据库相比,内存数据库的主要性能优势是什么?

mongodb - Spring Data - 如何编写 MongoRepository 方法进行 findAndModify 操作?

mongodb - Mgo 聚合管道 $not 运算符。未知的顶级运算符(operator)

python - 如何使用python或linux命令通过在本地数据库中搜索将蛋白质ID转换为蛋白质名称?

python - itertools 是线程安全的吗?

javascript - 将多个文档数组展开为新文档

java - 使用java使用mongodb中的表达式更新给定字段的值

python - 目录词典