我想从current_user(客户端)向userY(成员)发送电子邮件,而不会将emailaddress暴露给客户端。所以所有服务器端。
我有userY的_id(来自路由器参数:email.toUser = Router.current()。params._id;)并将其作为值发送给方法。
在方法函数中,我想做类似
的操作var to = Meteor.users.find({ _id: email.toUser });
现在当我在console.log(to)时,我得到一个巨大的_mongo对象而不是用户配置文件(我希望能够记录:to.profile.email)从电子邮件字段中获取值的最佳方法是什么?
答案 0 :(得分:5)
您看到的是光标到集合集。
要检索记录,您可以使用.fetch()
var to = Meteor.users.find({ _id: email.toUser }).fetch();
console.log(to[0].profile.email);
当您按ID查找时,您只需要1个结果,因此您也可以使用findOne()
代替find()
,这将直接返回第一个元素。
var to = Meteor.users.findOne({ _id: email.toUser });
console.log(to.profile.email);
编辑:我想补充一点,{ _id: email.toUser }
替换email.toUser
应该有效。仅使用ID时,无需传递对象。
答案 1 :(得分:3)
您应该将find
更改为findOne
喜欢这个。
var to = Meteor.users.findOne({ _id: email.toUser });
找到返回整个Mongo.Collection
光标