提问者:小点点

使用节点Js Mongoose时防止将重复数据输入MongoDB数据库


我正在使用MongoDB数据库编写一个节点JS系统。 我用猫鼬做ORM。 我想插入新的数据到数据库,并让系统让我们知道,如果数据已经创建,将没有数据创建将做。 假设我在集合时间表中有一个数据,它是

Subject=English
Classroom=6 Usaha
timeslot=10.00
Day=Monday

我怎样才能防止系统为数据库创建一个与我提到的值完全相同的数据呢? 我想写一个图式

subject: {

type:String,
unique:true,
}

Classroom: {

type:String,
unique:true,

}

timeslot: {

type:String,
unique:true,

}

Day: {

type:String,
unique:true,

}


共1个答案

匿名用户

您只需在模式级别创建一个新的复合索引,如下所示:

yourSchema.index({
  subject: 1, Classroom: 1, timeslot: 1, Day: 1
}, { unique: true });  

请确保此索引字段名称和架构字段名称完全相同。

此外,此处字段名称后面的1指定了一个索引,该索引按升序排列项目。

这将阻止系统为数据库创建一个与您所提到的值完全相同的数据。