Javascript 为数组中的每个名称查找Meteor中另一个集合中的一些用户数据

Javascript 为数组中的每个名称查找Meteor中另一个集合中的一些用户数据,javascript,arrays,email,meteor,Javascript,Arrays,Email,Meteor,嗨,伙计们,我正在尝试为数组“eingeladene”中的每个名字获取电子邮件地址“Vorname”和“Nachname”,我有一个for循环要反复检查,但我的查找结果输出“null”;(因此,我的查找工作不正常我有两个集合,一个名为“事件”,其中数组位于其中,集合中的“Benutzer”是我要获取的用户数据 在数组中插入“Vorname”,因此我正在搜索具有此名称的用户(“Vorname”),然后获取电子邮件+Nachname 谢谢你的帮助,是的,我已经准备好了文档 顺便说一下,@iiro帮我

嗨,伙计们,我正在尝试为数组“eingeladene”中的每个名字获取电子邮件地址“Vorname”和“Nachname”,我有一个for循环要反复检查,但我的查找结果输出“null”;(因此,我的查找工作不正常我有两个集合,一个名为“事件”,其中数组位于其中,集合中的“Benutzer”是我要获取的用户数据

在数组中插入“Vorname”,因此我正在搜索具有此名称的用户(“Vorname”),然后获取电子邮件+Nachname

谢谢你的帮助,是的,我已经准备好了文档 顺便说一下,@iiro帮我走了这么远

更新:我尝试使用相同的代码检查生成的数据,我将数据插入了另一个集合中,但我错了,它不是“null”,我现在得到以下信息:

{
  "_id": "HDF3XnvKzovnNdEiW",

  "Email": {
    "_id": "Gkddi6KhYf6BmF3jv",
    "email": "examplemail@gmail.com"
  },
  "Vorname": {
    "_id": "Gkddi6KhYf6BmF3jv",
    "Vorname": "exampleVorname"
  },
  "Nachname": {
    "_id": "Gkddi6KhYf6BmF3jv",
    "Nachname": "exampleNachname"
  }
} 
问题在于,对于每个零件,id都与数据一起插入

我的目标就是这样

"Email": "examplemail@gmail.com"

希望您现在能帮助我;)

我注意到有一件事是错误的,那就是findOne的语法

您没有在对象中指定“字段”

如果您只需要电子邮件:

Benutzer.findOne({Vorname: eingeladene[i]}, {email: 1});


编辑:很抱歉,我刚刚意识到这不是一种非常有效的方法,而且你有一些语法问题

具有相同结果的更好解决方案:

var obj = Benutzer.findOne({'vorname': eingeladene[i]}, {});

var emailData = {
    name: obj.name,
    beschreibung: obj.beschreibung,
    erstelltAm: new Date(),
    datum: obj.datum,
    eingeladen: obj.eingeladene,
    autor: obj.autor,
    einladender: obj.einladender
};

Email.send({
    to: obj.email,
    from: "example@gmail.com",
    ...
});
当第一次调用将返回您所需的所有值时,创建不同的MongoDB效率极低

此外,变量名也应采用大小写。它将极大地提高可读性。如果你要出发的话,也许可以去看看


我强烈建议您也阅读本教程,并将其编码出来

评论的最后一句话是什么?/不,这句话是什么意思是的,我试过了。问题是,在变量电子邮件中,保存的是整个用户数据,而不仅仅是电子邮件地址;(但是谢谢你
var obj = Benutzer.findOne({'vorname': eingeladene[i]}, {});

var emailData = {
    name: obj.name,
    beschreibung: obj.beschreibung,
    erstelltAm: new Date(),
    datum: obj.datum,
    eingeladen: obj.eingeladene,
    autor: obj.autor,
    einladender: obj.einladender
};

Email.send({
    to: obj.email,
    from: "example@gmail.com",
    ...
});