设置一个独特的字段'仅限用户(猫鼬)

时间:2018-03-14 11:15:57

标签: node.js mongodb express mongoose

我有一个标准的猫鼬用户方案,以及一个' Uniform'以下列方式持有着装物品的计划:

$cat_name = get_cat_name($cat_id);

$query = new WP_Query( array( 'category_name' => $cat_name ) );

事情是,我想要'项目中的项目。数组仅在用户范围内是唯一的。这意味着我不希望用户拥有相同项目的serval制服。但是,对于与我的用户具有相同项目的其他用户,我不会遇到任何问题。

目前的方案可以防止任何制服在' items'内部具有相同的值,我希望它只是在用户的范围内。 甚至可以这样做吗?

(在rails上的ruby中,创建此行为的行是:mongoose.Schema({ user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }, items: { type: [String], unique: true } })

1 个答案:

答案 0 :(得分:1)

如果UserUniform是不同的模式(不同的集合),那么在mongodb中无法在不同集合的密钥之间实现唯一性。

我们可以通过使用Compound Index

组合同一集合的不同键来实现唯一性