javascript - mongoose - 当所有字段都等于新条目时避免重复

标签 javascript mongodb mongoose

所以我的节点应用程序中有一个包含两个字段的 Mongoose 模式:标签任务,并且我希望能够保存两个属性组合的条目尚不存在。

例如:我的数据库已有以下条目:

  • {标签:标签1,任务:任务1}
  • {标签:标签1,任务:任务2}
  • {标签:标签2,任务:任务1}

我希望能够创建 {tag:tag2,task:task2},但不能创建 {tag:tag1,task:再次task1},所以我想我不能在这些字段中使用primary或​​unique,因为它们可以重复,除非它们的组合已经存在

那么我应该使用哪个查询来保存?或者我应该先查找它是否已经存在?

最佳答案

使用唯一复合索引

db.users.createIndex( { "tag": 1, "task": 1 }, { unique: true } )

有关更多信息,请访问Link

关于javascript - mongoose - 当所有字段都等于新条目时避免重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599569/

相关文章:

javascript - angularjs:在选择时将复选框更改为图像

javascript - 仅删除 react native 平面列表上的第一个和最后一个分隔符

mongodb - Homebrew mongodb 连接失败 - Mac OSX Sierra 10.12.6

ruby - 带有 mongolab 镜像和后备的本地 mongo 服务器

javascript - 如何在 Javascript 中一次更改对象的多个属性?

node.js - 如何根据其他字段添加条件模式?

Javascript 使用委托(delegate)更新 html 内容

javascript - 如何根据 Express 参数检索 Mongoose 模型

node.js - 使用 auth 的 MongoDB/Mongoose 3.x 副本集故障转移/重新连接代码的一个很好的例子是什么?

javascript - on key up如何在jquery中添加小数值?