使用帐户为流星应用程序动态生成的用户名
Dynamic generated username for meteor app using Accounts
我想动态创建用户名,因此如果注册了新用户,则只需要姓名,姓氏和电子邮件。
这就是我为新创建的用户设置用户名的方式。
Accounts.onCreateUser(function (options, user) {
user.username = options.profile.name.toLowerCase();
});
这显然给我带来了问题,如果我想创建一个同名的用户。这将导致错误Username already exists
。所以我正在寻找一些在这种情况下如何进行的想法。也许可以添加姓氏的第一个字符或在末尾添加一个递增的数字。
但是对于所有这些,我不知道在哪里实现这一点,因为必须有一个循环来测试用户名......
是的,在提交用户名之前,您需要针对现有用户进行测试。让我们使用旧AOL样式的序列号:
Accounts.onCreateUser(function (options, user) {
let baseUsername = options.profile.name.toLowerCase();
let user.username = baseUsername;
let i=0;
while ( Meteor.users.findOne({ username: user.username }) ){ // look for an existing user with the same username
i++;
user.username = baseUsername + i.toString();
}
});
您需要确保您的username
密钥已编入索引,在 mongodb 中是唯一的。
相关文章:
- d3基于用户选择动态更新节点
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 将一行添加到用户动态创建的特定表中
- 如何根据用户选择动态更改多个复选框的编号
- 如何根据用户输入的数字动态地向表单添加文本字段
- 使用动态用户输入在 HTML5 中创建画布多边形
- 如何使移动用户可点击动态电话号码
- 使用用户输入动态转换数据(Highcharts,JavaScript,Django)
- 尝试在Javascript中嵌套基于用户输入的动态生成的JSON
- 用户输入的动态表,单元格id作为网格引用
- NodeJS+JS:根据当前用户选择生成动态链接
- 用户动态添加文本框时,文本框中的echo值
- 我正在创建一个社交媒体类型的网站,我需要让用户动态发布
- 允许用户动态添加javascript的网页安全性
- 如何阻止用户动态输入格式不正确的日期?
- Mailto:将用户动态添加到同一邮件中
- 为中国用户动态切换谷歌地图API URL
- PHP:将用户动态转发到不同URL的最佳方式
- 获取要在PHP中从用户动态读取的文件路径