Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Meteor'的采集中插入数据;s启动_Javascript_Json_Meteor_Startup - Fatal编程技术网

Javascript 在Meteor'的采集中插入数据;s启动

Javascript 在Meteor'的采集中插入数据;s启动,javascript,json,meteor,startup,Javascript,Json,Meteor,Startup,我想在Meteor启动时插入数据。(和之后从JSON文件) 在启动时,我创建了一个新帐户,我想插入数据,并在这个帐户创建后将其链接到这个帐户 这是在启动时创建新帐户的代码: if(!Meteor.users.findOne({emails: { $elemMatch: { address: "test@test.com"}}})){ var id = Accounts.createUser({ email: "test@test.com", password: "1234", profi

我想在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'); 
声明在另一个文件中,所以我不能像上面那样做


因为它不在同一个文件中,所以我尝试获取获得的用户ID“test@test.com“作为电子邮件(帐户在启动时创建的电子邮件)。一旦我得到它,我想在“createdBy:ID_HERE”中使用它。

好的,你会想签出。您必须先加载带有定义的文件,或稍后加载带有
夹具的文件

通常,您的集合位于lib/中,而
fixture
s位于server/fixtures.js中


因此,如果您将插入代码放入server/fixtures.js中,它就会工作。

您能否添加一个说明,说明哪些代码不工作?是的,对不起,我刚刚编辑了:)谢谢!我将更改我的应用程序树,但您能否告诉我如何将用户ID链接到电子邮件?”test@test.com“?这
Meteor.users.findOne({emails:{$elemMatch:{address:}test@test.com“}}})
返回用户
文档
。因此,您只需执行Meteor.users.findOne({emails:{$elemMatch:{address:}test@test.com“}})。\u id
(服务器端)现在可以工作了,非常感谢!这很奇怪,我从来没有听说过meteor.js中的这个“fixture”文件……我是从。只是澄清一下;文件本身并不特殊。Meteor首先加载
lib
目录,然后加载其他所有目录,包括您
server
目录。是的,我知道,但很多人使用“fixture”作为此文件的名称,它可能已经成为一个小标准:)