由于TypeError无法创建索引:格式字符串的参数不足

点心

我正在尝试使用pymongo创建索引,但由于错误而失败

File "D:/Users/Dims/Design/EnergentGroup/Python GIS Developer/worker/Approach03\sentinel\mongo.py", line 46, in get_results_collection
    results_collection.create_index(["uwi", "date_part"], name=index_name, unique=True)
  File "C:\Anaconda3\lib\site-packages\pymongo\collection.py", line 1386, in create_index
    name = kwargs.setdefault("name", helpers._gen_index_name(keys))
  File "C:\Anaconda3\lib\site-packages\pymongo\helpers.py", line 49, in _gen_index_name
    return _UUNDER.join(["%s_%s" % item for item in keys])
  File "C:\Anaconda3\lib\site-packages\pymongo\helpers.py", line 49, in <listcomp>
    return _UUNDER.join(["%s_%s" % item for item in keys])
TypeError: not enough arguments for format string

显然,在创建默认索引名称的代码库中发生错误,这是

def _gen_index_name(keys):
    """Generate an index name from the set of fields it is over."""
    return _UUNDER.join(["%s_%s" % item for item in keys])

显然不正确。

我的代码如下:

index_name = 'uwi_date_part'
if index_name not in index_information:
    print("Creating index '%s'..." % index_name)
    results_collection.create_index(["uwi", "date_part"], name=index_name, unique=True)

index_name = 'uwi'
if index_name not in index_information:
    print("Creating index '%s'..." % index_name)
    results_collection.create_index("uwi", name=index_name, unique=False)

如何克服?

杰西·杰鲁·戴维斯(A. ​​Jesse Jiryu Davis)

PyMongo不需要以下语法:

results_collection.create_index(["uwi", "date_part"], name=index_name, unique=True)

您要在两个字段“ uwi”和“ date_part”上建立索引吗?仔细选择对字段进行索引的顺序(请参阅优化MongoDB复合索引),以及是按升序还是降序对它们进行索引。

如果要按升序索引“ uwi”和“ date_part”,请执行以下操作:

results_collection.create_index([("uwi", 1), ("date_part", 1)], name=index_name, unique=True)

有关使用PyMongo创建索引的更多信息,请参阅文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TypeError:格式字符串的参数不足?

TypeError:格式字符串的参数不足-Python格式问题

Python TypeError:格式字符串的参数不足

TypeError:格式字符串的参数不足-python

MySQL TypeError:格式字符串的参数不足

__str__参数不足,无法用于格式字符串

Python TypeError:在字符串%s的情况下,格式字符串的参数不足

OperationalError:格式字符串的参数不足

TypeError:格式字符串的参数不足-使用%Y-%m时进行Python SQL连接

MySQLdb._exceptions.ProgrammingError:格式字符串参数不足

类型错误:python 中的格式字符串参数不足

由于我的字符串格式以及正在使用的参数,我的 printf 格式说明符将无法编译

带有 bool 和 list 的格式字符串参数不足

将csv导入MySQL数据库时,格式字符串的参数不足

TypeError:打印索引格式错误的Pandas数据框时,格式字符串不受支持

Angular TypeError:无法在字符串''上创建属性

TypeError:无法在字符串“ /:id”上创建属性“ next”

.pkpass创建由于清单pass.json字符串格式而失败?

TypeError:不是在方法参数中的字符串格式化期间转换的所有参数

从字符串创建字符串索引数组

字符串格式的参数个数

C#字符串格式参数

尝试使用sqlalchemy或mysql.connector将数据插入MySQL DB时,“格式字符串的参数不足”

TypeError:在插入mysql数据库时没有足够的参数用于格式字符串

typeError:字符串格式化期间并非所有参数都被转换

Python TypeError:在字符串格式化期间,并非所有参数都已转换

TypeError:并非在Django字符串格式化期间转换的所有参数

Python:TypeError:在字符串格式化期间并非所有参数都已转换

获取 TypeError:并非所有参数都在字符串格式化期间转换