Mongoose查询空人口

时间:2016-03-23 22:44:28

标签: mongoose mongoose-populate

我有这两个型号,产品和设计。 Product有一个设计字段,它采用Design ObjectId。

有时候,当保存到mlab db时,设计没有完成保存,但仍然会返回一个ObjectId以保存到Product,所以对于某些产品我查询时

Product.find({...});

我回来了Product.design = someObjectId;

但是当我填充时:

Product.find({...}).populate('design');

生成的product.design为null,这是有道理的。现在我需要修补它。我一直在查询所有产品,填充“设计”,然后遍历每个产品以查看其产品设计是否为null,但数据库中有超过50K的产品文档,I& #39; d更喜欢编写更具体的查询,所以:

我需要运行什么查询才能返回设计字段填充为null的产品?

1 个答案:

答案 0 :(得分:0)

你想做这样的事吗?

Product.find(design : { exists : false }).exec(function(err,doc){
  if (err) throw err;
  //this will be docs with design set to null
  console.log(doc)
})

更新:如果您需要,请告诉我。