mongodb防止数组元素在文档之间重复

时间:2020-10-22 15:39:51

标签: mongodb constraints

假设我要插入以下示例文档

   db.getCollection("test").insert({
      _id: new UUID(),
      name: "abc",
      tags: ["A", "B"]
   })

当我尝试再次添加带有标签“ B”的文档时,我需要mongo来违反约束。

   db.getCollection("test").insert({
      _id: new UUID(),
      name: "pqr",
      tags: ["B", "C"]
   })

这可能吗

1 个答案:

答案 0 :(得分:1)

是的,可以使用唯一索引。

此索引可确保整个文档中数组中的所有元素都是唯一的。

db.getCollection('test').createIndex({ tags : 1},{ unique: true })

在MongoDB中检查Mulitykey索引及其约束。