Javascript Mongoose确保同一行没有';不要再发生了

Javascript Mongoose确保同一行没有';不要再发生了,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一个非常简单的猫鼬模式 const mongoose=require('mongoose'); const followSchema=新的mongoose.Schema({ 追随者:{ 类型:mongoose.Schema.Types.ObjectId, ref:'用户', 必填项:true }, 随后:{ 类型:mongoose.Schema.Types.ObjectId, ref:'用户', 必填项:true } }); followSchema.set('timestamps',t

我有一个非常简单的猫鼬模式

const mongoose=require('mongoose');
const followSchema=新的mongoose.Schema({
追随者:{
类型:mongoose.Schema.Types.ObjectId,
ref:'用户',
必填项:true
},
随后:{
类型:mongoose.Schema.Types.ObjectId,
ref:'用户',
必填项:true
}  
});
followSchema.set('timestamps',true);
module.exports=mongoose.model('Follow',followSchema);
此架构保存跟随其他用户的用户的数据

我想确保同一行不再出现。例如:

[
  {user1, user2}, // this field is valid
  {user2, user1}, // this field 
  {user1, user2}, // this field is a duplicate of field 1


]

我可以在插入新记录之前进行筛选,但我想知道是否有更干净的方法或标准的方法来进行筛选。

您可以使用唯一的复合索引来实现此目标

followSchema.index({follower:1, followed:1}, {unique:true})

您可以在

上阅读有关唯一索引的更多信息。您可以使用唯一的复合索引来实现此目标

followSchema.index({follower:1, followed:1}, {unique:true})
您可以在上阅读有关唯一索引的更多信息