确保文档中的 属性 只有在它们与另一个 属性 具有相同值时才是唯一的

Ensure property in document is unique only if they have the same value of another property

假设我有这样一个模式:

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

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

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

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