我有一个用户可以互相关注的应用程序。建立这种关系后,会将文档添加到集合中。该文档具有两个字段follower
和followee
。我想防止重复关系的插入。我不想查询数据库,等待一个诺言,然后插入,因为这似乎是一种低效的方法。如果新文档的follower
和followee
与现有文档匹配,我宁愿它停止保存新文档。
答案 0 :(得分:1)
考虑创建一个Unique Compound Index索引:
db.members.createIndex( { follower: 1, followee: 1 }, { unique: true } )
创建的索引对follower
和followee
值的组合具有唯一性。
唯一索引可确保索引字段不会存储重复项 价值观即对索引字段实施唯一性。默认情况下, 在创建期间,MongoDB在_id字段上创建唯一索引 集合