首页 > 解决方案 > 仅当文档中的属性与另一个属性具有相同的值时,才确保它们是唯一的

问题描述

假设我有一个这样的模式:

const MySchema = new mongoose.Schema({
    userId: {
        type: mongoose.Schema.Types.ObjectId,
        required: true,
    },
    nonce:{
        type: Number,
        required: true,
    }
});

如果 userId 相同,如何确保 nonce 是唯一的?但是具有不同 userId 的文档可以具有相同的 nonces?

标签: mongodbmongodb-querynonce

解决方案


您可以创建唯一的复合索引,例如:

   db.collection.createIndex({userId:1 , nonce:1 },unique: true)

推荐阅读