Mongodb设置独特的领域

Ram*_*mya 5 mongodb mongodb-query

 TENANT
  { "_ID" : 11, NAME : "ruben", OPERATION :[{OPERATION_ID: 100, NAME : "Check"}] }
Run Code Online (Sandbox Code Playgroud)

如何设置OPERATION_ID具有唯一性以避免重复值并避免像主键一样的空值?

Phi*_*ipp 12

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

db.tenants.ensureIndex( { operation.OPERATION_ID : 1 }, { unique:true, sparse:true } );
Run Code Online (Sandbox Code Playgroud)

如果您希望每个租户的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 } );
Run Code Online (Sandbox Code Playgroud)