Mongodb使用数组作为唯一键

时间:2018-09-29 19:42:26

标签: mongodb

我想确保只有一个实例是与实体之间达成协议的文档...我可能对此模型化了,所以我正在寻找建议,以寻求更好的方法。

但是本质上,文档看起来像这样。

{
    _id:objectid,
    entity_Ids: [objectid]
}

我很好奇确保数组唯一的最佳方法是什么,所以我做 db.agreements.insert(entity_Ids:[1,2]),现在已经有1,2,我会遇到冲突。

我本可以这样做:

{
    _id:objectid,
    entity1: objectid,
    entity2: objectid
}

但是然后我总是必须检查entit1 = 1或entity2 = 1或entity1 = 2或entity2 = 2

1 个答案:

答案 0 :(得分:0)

您可以在文档中的任何键上创建唯一索引 因此,请尝试

db.myCollection.createIndex({entity_Ids: 1},{unique: true});