在mongo中获取实际对象而不是DBQuery

时间:2014-05-13 09:55:12

标签: mongodb mongodb-query

我在mongodb控制台中运行此代码:

var participantsWithoutCategory = db.participant.find({eventId: ObjectId("536d5564e7b237df30b628cc"), category: {$exists: false}});
    var event = db.event.find({_id: ObjectId("536556c4eaa237df30b628cc")}); 

participantsWithoutCategory.forEach(function (entry) {
    var userId = new ObjectId("" + entry._id + "");
    var user = db.user.find( { _id: userId} );
    print("got user: " + user);
});

并且打印的结果是:

got user: DBQuery: Oc5mjdKkhyDb3r6rhnzw.user -> { "_id" : ObjectId("536d8586ebb237df30b62bcb") }

所以我只是想知道如何获取实际的对象而不是指向它的指针?

如果我尝试获取其任何属性,例如user.dob,我会得到一个null :(

1 个答案:

答案 0 :(得分:1)

事实证明mongo如何表示查询没有结果...我已经通过使用对象的正确属性修复了它而不是_id,但是超出了这一点

有趣的是,当find()没有返回任何内容时,mongo会返回DBQuery。