【发布时间】:2015-09-07 15:55:55
【问题描述】:
我想在 Meteor 启动时插入数据。 (从 JSON 文件之后)
在启动时,我创建了一个新帐户,我想插入数据并将其链接到此帐户。
这是在启动时创建新帐户的代码:
if(!Meteor.users.findOne({emails: { $elemMatch: { address: "test@test.com"}}})){
var id = Accounts.createUser({ email: "test@test.com", password: "1234", profile: { name: 'Test' } });
Meteor.users.update({_id: id }, { $set: { admin: false }});
}
然后,我需要插入数据并将其链接到该帐户及其 ID。 (在不同的集合中)。
所以我尝试做类似的事情,但显然它没有工作:
UserData = new Mongo.Collection('user_data');
if(!Meteor.users.findOne({emails: { $elemMatch: { address: "test@test.com"}}})){
var id = Accounts.createUser({ email: "test@test.com", password: "1234", profile: { name: 'Test' } });
Meteor.users.update({_id: id }, { $set: { admin: false }});
UserData.insert({
createdBy: id,
firstname: "test",
/* ... */
});
}
编辑
抱歉没说清楚。
真正的问题是:
UserData = new Mongo.Collection('user_data');
声明在另一个文件中,所以我不能像上面那样做。
由于它不在同一个文件中,我尝试获取获得“test@test.com”作为电子邮件的 userId(启动时创建的帐户电子邮件)。一旦我得到它,我想在“createdBy:ID_HERE”中使用它。
【问题讨论】:
-
你能添加一个描述到底是什么不起作用吗?
-
是的,抱歉,我刚刚进行了编辑 :)
标签: javascript json meteor startup