Mongodb 当没有任何副本时,Mongo在副本上崩溃
我们的副本集只包含mongo server 2.6(我们一周前升级过)。我们正在虚拟机上运行windows server 2008。 最近我们注意到了一个相当恼人的问题:我们有一个名为items_full的集合,它在字段sku上有一个唯一的索引。当我们运行以下更新查询时:Mongodb 当没有任何副本时,Mongo在副本上崩溃,mongodb,mongodb-indexes,Mongodb,Mongodb Indexes,我们的副本集只包含mongo server 2.6(我们一周前升级过)。我们正在虚拟机上运行windows server 2008。 最近我们注意到了一个相当恼人的问题:我们有一个名为items_full的集合,它在字段sku上有一个唯一的索引。当我们运行以下更新查询时: db.items\u full.update( {}, {“$set”:{“ProductInfo.ProductCA.isUpdated”:false}, {“多”:真} ) 它因错误而崩溃: E11000重复密钥错误索引
db.items\u full.update(
{},
{“$set”:{“ProductInfo.ProductCA.isUpdated”:false},
{“多”:真}
)
它因错误而崩溃:
E11000重复密钥错误索引:
库存。物品已满。$sku_1 dup密钥:{:“DSSWI#Luc_W_Lp-12550-Gy-014-Gy”}
当我查找上述sku时,只得到1个结果。
有什么想法吗
感谢为受影响的集合定义了哪些索引?有两个唯一的索引(除了_id)sku和sku upper。两者都有放置重复项的设置。当我创建它们时,mongo只允许我在手动删除重复项后才这样做。现在,如果我删除一个并再次尝试重新创建它-它不允许指向重复的sku,但当我查找它时-我看不到它是重复的。当你说“它崩溃了”-它实际上崩溃了还是只是打印了重复的错误消息?你能出示你的一份文件(简体)吗?我曾尝试复制您的场景,但无法--我曾在Mongo 2.4.9和2.6.0上尝试过--但我只有1个SKU唯一密钥。sku_鞋面如何搭配?请打印出您的索引并提供一份示例文档。