我有一个出版物应该返回所有匹配_id
数组的用户。在这里查询:
Meteor.users.find({
'_id': { $in: myArray}},{
'profile.name':1,
'profile.description':1,
'profile.picture':1,
'profile.website':1,
'profile.country':1}
);
当我在Robomongo(mongo浏览器)中运行它时,它可以工作。但我的出版物只返回undefined
。当我在出版物中console.log(myArray);
时,我会得到类似['FZ78Pr82JPz66Gc3p']
的内容。这是我在我的工作Robomongo查询中粘贴的内容。
备选问题:如何从Collection.find()
结果中获得更好的反馈(日志)?
答案 0 :(得分:3)
看起来您正试图在find中指定字段,您可以这样做:
var options = {
fields: {
'profile.name': 1,
'profile.description': 1,
'profile.picture': 1,
'profile.website': 1,
'profile.country': 1
}
};
Meteor.users.find({_id: {$in: myArray}}, options);
但是,如果在发布功能中使用此功能,我强烈建议仅使用顶级字段,如下所示:
Meteor.users.find({_id: {$in: myArray}}, {fields: {profile: 1}});
有关原因的详细信息,请参阅this question。
对于第二个问题,您可以通过调用游标上的fetch来查看游标返回的文档。例如:
console.log(Posts.find({_id: {$in: postIds}}).fetch());