如何在MongoDB中查找具有唯一值的文档?

时间:2015-06-04 22:08:40

标签: node.js mongodb mongoose nosql

我有一个集合,其中有几个文档,其中包含使用其他系统处理的作业。我在这个表中查找了5个对象:

Work.find({status: 'new'})
  .sort({priority: 'desc'})
  .limit(5)
  .exec(function (err, work){})

这些文档中还有另一个字段,它确定只能同时运行具有给定唯一值的一个作业。

例如这3个职位:

{uniqueVal: 1, priority: 1, type: "scrape", status:"new"}
{uniqueVal: 1, priority: 1, type: "scrape", status:"new"}
{uniqueVal: 2, priority: 1, type: "scrape", status:"new"}

有2条uniqueVal为1的记录。有什么办法可以只用1来拉一条记录吗?

注意:这些值不是像示例中那样的预定值,它们是其他文档的ObjectIds。

我查看了Distinct(),但似乎它只返回实际的唯一值,而不是文档本身。

1 个答案:

答案 0 :(得分:2)