如何确保模型的键上没有重复的数据?

时间:2018-11-28 00:22:17

标签: mongodb mongoose mongodb-query

这是我的用户模型:

const UserSchema = new mongoose.Schema(
  {
    email: { type: String, required: true, unique: true },
    watched: [{ type: String}],
    watchLater: [{ type: String}],
  },
  { timestamps: true },
)

存在watchedwatchLater数组,其中包含字符串。当我向watched添加字符串时,我想删除或确保watchLater上没有相同的 string ,反之亦然。最好的方法是什么?我是否必须分别查询两个键,进行比较并写回数据库,还是有其他方法?

1 个答案:

答案 0 :(得分:0)

您可以将条件放入查询部分

db.collection.update(
  { watched: { $ne: string } watchedLater: { $ne:string }}, 
  { $push: { watched: string }}
)