如何使用 pymongo 在 mongoDB 中创建通配符文本索引?

Dee*_*wal 5 python mongodb pymongo

我知道 mongoDB 中的通配符文本索引可以使用以下命令在 shell 中创建:

db.collection.createIndex( { "$**": "text" } )
Run Code Online (Sandbox Code Playgroud)

并在 pymongo 中创建索引:

db[COLLECTION].create_index(index_name, index)
Run Code Online (Sandbox Code Playgroud)

我不知道如何在 pymongo 中创建通配符索引。有人可以帮忙吗?

Olu*_*ule 5

签名:db.a.create_index(keys, **kwargs)

Docstring:在此集合上创建索引

采用单个键或(键,方向)对列表。键必须是 :class: 的实例basestring (在 python 3 中为 :class str:),并且方向必须是 (:data: 、~pymongo.ASCENDING:data: ~pymongo.DESCENDING、 :data: ~pymongo.GEO2D、 :data: ~pymongo.GEOHAYSTACK、 :之一数据:~pymongo.GEOSPHERE、:数据:~pymongo.HASHED、:数据~pymongo.TEXT:)。

要在所有字段上创建文本索引,我们只需使用包含字段和方向作为参数的单个元组的列表:

import pymongo

db.collection.create_index([("$**", pymongo.TEXT)])

print(list(db.collection.list_indexes()))
Run Code Online (Sandbox Code Playgroud)