Mongodb设置唯一字段

标签 mongodb mongodb-query

 TENANT
  { "_ID" : 11, NAME : "ruben", OPERATION :[{OPERATION_ID: 100, NAME : "Check"}] }

如何设置OPERATION_ID具有唯一性以避免重复值和避免主键等空值?

最佳答案

如果您希望所有租户的 OPERATION_ID 都是唯一的,那么您可以这样做:

db.tenants.ensureIndex( { operation.OPERATION_ID : 1 }, { unique:true, sparse:true } );

当您希望每个租户的 OPERATION_ID 是唯一的,以便两个租户都可以拥有 operation_ID:100 但没有租户可以拥有 operation_id:100 两次时,您必须将租户的 _id 添加到索引中,以便任何_id 和 operation_id 的给定组合是唯一的。

db.tenants.ensureIndex( { _id: 1, operation.OPERATION_ID : 1 }, { unique:true, sparse:true } );

关于Mongodb设置唯一字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395118/

相关文章:

mongodb - 如何按日期获取唯一约束的最早记录?

mongodb - 聚合时如何不一一列出项目中的所有字段?

mongodb - 虽然我在数据库中有记录,但它给出的是 "Mongoid::Errors::DocumentNotFound"

mongodb - 聚合组多个结果

node.js - Mongoose :Query#exec 的目的是什么

javascript - 按 $project 字段聚合和 $lookup

mongodb - meteor $and 与 $or

mongodb - 在 mongoDB 预测中添加新字段

javascript - 上传图片到tinyMCE

mongodb - mongodb写锁发生在什么级别?