meteor - 从服务器端获取价值

时间:2015-05-26 06:54:00

标签: meteor

我想从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)从电子邮件字段中获取值的最佳方法是什么?

2 个答案:

答案 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光标