MongoDB投影引用文档

时间:2015-10-29 16:45:29

标签: mongodb mongodb-query mongo-shell

我有Order这样的文档:

{ "_id" : ObjectId("55fdd76fe4b08bcb851be855"), "customer" : DBRef("customer", ObjectId("55fdd76fe4b08bcb851be853")) }

我想"打印输出"引用客户的名称如下:

db.order.find({}, {"customer.firstName":1})

但这似乎不起作用。点表示法适用于subdocuments但不适用于referenced文档。

是否有办法如何加入"那些表或只是告诉mongo shell获取客户文档?

1 个答案:

答案 0 :(得分:0)

forEach() 游标上的 find() 方法可用于加载客户参考。如下所示:

db.orders.findOne().forEach(function (order){
    var customer = db[order.$ref].findOne({"_id": order.$id});
    printjson(customer.firstName);
});