基于ObjectId参考条件的MongoDB查询

时间:2014-10-17 17:46:42

标签: mongodb mongoose mongoose-populate robo3t

我有一个MongoDB集合Cats,它有一个ObjectId参考字段zooId到集合Zoo

我如何查询类似

的内容

db.Cats.find({zooId.zooName: 'San Diego'}).count()

其中查询的条件属于zooName引用中的字段zooId

我理解使用Mongoose,我可以调用populate方法来实际获取某些引用,但是我如何在mongodb控制台或RoboMongo中直接执行类似的操作?

谢谢!

1 个答案:

答案 0 :(得分:0)

简单编码:

var cats = 0;
db.Zoo.find({zooName: 'San Diego'}).forEach(function(zooItem){
   var id = zooItem._id;
   cats += db.Cat.find({'zooId' : id}).count();
});

print(cats);