gpt4 book ai didi

mongodb - 无法在 {EDs._id : 1 } with shard key pattern { _id: "hashed" } 上创建唯一索引

转载 作者:行者123 更新时间:2023-12-02 00:55:28 25 4
gpt4 key购买 nike

我正在尝试为主要集合使用散列分片的嵌入式文档编制索引。示例结构:

class ED(EmbeddedDocument):
id = StringField(primary_key=true)
meta = {
'indexes': [{'fields': ['EDs.id'], 'unique': True}]
}

class D(Document):
id = StringField(primary_key=true)
EDs = EmbeddedDocumentListField(ED)

现在,我在集合 D 中添加了一个分片。

sh.shardCollection("db.d", { "_id" : "hashed" } )

现在,由于我已经在 ED 的 ID 上添加了索引,所以不允许我保存文档。

$cmd failed: cannot create unique index over { EDs._id: 1 } with shard key pattern { _id: "hashed" }

但是,当我们从 ED 中删除此元时,它会起作用。当我删除分片时它也有效。那么,我们如何才能在嵌入式文档 ED 的 id 上实现这种索引呢?

最佳答案

我能够通过将分片键实际包含在唯一索引本身中来实现它。

关于mongodb - 无法在 {EDs._id : 1 } with shard key pattern { _id: "hashed" } 上创建唯一索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35941945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com