我有一个标准的猫鼬用户方案,以及一个' 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 }
})
)
答案 0 :(得分:1)
如果User
和Uniform
是不同的模式(不同的集合),那么在mongodb中无法在不同集合的密钥之间实现唯一性。
我们可以通过使用Compound Index
组合同一集合的不同键来实现唯一性