【发布时间】:2017-05-20 20:33:44
【问题描述】:
例如:
文档1:{
'name':'apple'
}
文档2:
{
'name':'apple juice'
}
当我用 pymongo 创建文本索引时:
db.products_collection.create_index([('name', TEXT)],
unique=True,
background=True)
它给我一个错误:
E11000 重复键错误集合:c.items_collection 索引: name_text_alias_text 复制键:{ : "apple", : 10.5 }
有人知道为什么吗?我无法为文本字符串添加unique=True?
【问题讨论】:
-
apple和apple juice是两个不同的值。它们不会导致您的错误,您应该检查您的数据库是否出现任何情况 -
我知道你的意思。问题是文本索引。我认为 mongodb 使用 ' ' 将字符串拆分为索引以改进搜索并使此错误发生。您可以尝试使用文本索引。
-
我想我找到了解决办法。
-
你是怎么解决的?
-
@Khang 不使用一个索引,而是使用两个索引。
标签: python mongodb indexing database