2016-05-14 70 views
1

我想在我的Meteor应用程序启动时创建一个默认用户,因此我检查用户集合中是否有用户,但它不起作用。如何检查Meteor的用户帐户是否为空?

我试试这个:

if (Meteor.users.find().count() === 0) { 
    seedUserId = Accounts.createUser({ 
    email: '[email protected]', 
    password: '123456' 
    }); 
} 

这COUNT()返回0,但在蒙戈我有用户:
meteor:PRIMARY> db.users.find().count()
>> 2

我试试这个太:
Meteor.users.findOne() 但回报undefined ...

我是doi ng错了吗?

+0

你是在服务器端还是客户端执行此操作? – Soren

+0

服务器端@Soren – thur

回答

1

当您的代码正在执行时,您可能会看到服务器未完全加载的竞争状况 - 尝试将代码包装在Meteor.startup中,例如;

if (Meteor.isServer) { 
    Meteor.startup(function() { 
    if (Meteor.users.find().count() === 0) { 
     seedUserId = Accounts.createUser({ 
      email: '[email protected]', 
      password: '123456' 
     }); 
    } 
    }); 
} 
相关问题