我有这两个型号,产品和设计。 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的产品?
答案 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)
})
更新:如果您需要,请告诉我。