Accounts.onCreateUser 在创建新用户时添加额外属性,好的做法吗?

2024-05-10

我正在创建新用户Accounts.createUser() http://docs.meteor.com/#/full/accounts_createuser如果你不做任何花哨的事情,它就会正常工作。但我想向新用户添加一些文档中未列出的其他字段。这是我的代码:

var options = {
    username: "funnyUserNameHere",
    email: "[email protected] /cdn-cgi/l/email-protection",
    password: "drowssap",
    profile: {
        name: "Real Name"
    },
    secretAttribute: "secretString"
};

var userId = Accounts.createUser(options);

在此示例中,我已将 SecretAttribute 添加到我的选项对象中。因为这没有记录,所以它没有在用户对象下添加我的属性是公平的。

所以我用谷歌搜索并发现类似这样的东西可能有效:

Accounts.onCreateUser(function(options, user) {
    if (options.secretAttribute)
        user.secretAttribute = options.secretAttribute;

    return user;
});

是的!这可行,但总是有 BUTT.. *但是.. 在这之后它不会保存profile不再位于用户对象下。然而,这使它工作:

Accounts.onCreateUser(function(options, user) {
    if (options.secretAttribute)
        user.secretAttribute = options.secretAttribute;

    if (options.profile)
        user.profile = options.profile;

    return user;
});

那么我想从你们那里得到什么?

  1. 我想知道为什么 onCreateUser 在我的情况下会丢失个人资料(在上述修复之前)?
  2. 我的方法是好的做法吗?
  3. 是否有更好的解决方案在创建用户对象时添加额外的属性?

ps:我认为这很明显为什么我不想保存个人资料下的所有额外字段;)


嗯,这并不难。文档中是这样的:“默认的创建用户函数只是将 options.profile 复制到新的用户文档中。调用 onCreateUser 会覆盖默认的钩子。” -Accounts.onCreateUser http://docs.meteor.com/#/full/accounts_oncreateuser

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Accounts.onCreateUser 在创建新用户时添加额外属性,好的做法吗? 的相关文章

随机推荐

  • 带有子 div 的 div 的背景颜色

    div div This is a text inside a div element div div We are still in the div element div div Why isnt the background colo
  • Windows 身份验证在 IISExpress 中有效,但在 IIS 中无效

    我有一个奇怪的问题 我正在 Visual Studio 2013 中使用最新的 MVC5 我正在尝试创建一个托管匿名 API 的站点以及一个需要通过 Windows 身份验证的 Intranet 域凭据的管理仪表板 当通过 IIS Expr
  • 何时使用 JCR(内容存储库)而不是其他选项?

    我正在尝试评估内容存储库 JSR283 http www jcp org en jsr detail id 283 like 长耳大野兔 http jackrabbit apache org and 模式形状 http www jboss
  • r 连接两个列表并对它们的值求和

    我有两个列表 x y gt x carlo monte simulation model quantum 31 31 9 6 6 gt y model system temperature quantum simulation proble
  • qt项目如何设置安装路径

    我正在寻找与 qmake configure prefix 等效的内容 基本上 我想覆盖默认的安装 部署目录 这是如何用命令行 qmake 指定的 我还使用 QtCreator 构建了很多 gui 项目 并且我想知道如何在 QtCreato
  • 在 C# 中扩展数据表

    类的静态构造函数SourceManager遍历所有模块 类并发现所有实现的类ISource 它将实例化其中每一个并公开一个IEnumerable其中作为静态属性称为IEnumerable
  • Java中非对齐指针被释放?

    在 Objective C 中这很容易追踪 但在 Java 中我认为这种事情是不可能的 我看到的错误是 java 7198 0x124a13000 malloc error for object 0x1003109c1 Non aligne
  • MVC .NET 如何为现有源代码添加单元测试项目?

    我已经创建了 MVC 项目 VS2008 NET 3 5 第一次VS2008问我 您想为此应用程序创建单元测试项目吗 我选择否 现在我意识到它变得越来越复杂 TDD 测试驱动开发 方法会更好 但无法找到如何在我的解决方案中添加单元测试项目
  • SlideUp() 在 jQuery 中如何工作?我正在尝试制作自己的slideRight()

    我看过jquery 中幻灯片的源代码 https github com jquery jquery blob master src effects js Generate shortcuts for custom animations jQ
  • 使用 pg-promise 进行多行插入

    我想用一个插入多行INSERT查询 例如 INSERT INTO tmp col a col b VALUES a1 b1 a2 b2 有没有一种方法可以轻松地做到这一点 最好是对于像这样的对象数组 col a a1 col b b1 co
  • 导出 Azure SQL 数据库时出现错误 SQL71501

    导出 Azure SQL 数据库时出现奇怪的错误 导出一直工作正常 直到最近发生一些架构更改 但现在出现错误 SQL71501 该数据库是V12 兼容性级别130 尽管master数据库仍兼容级别 120 该问题似乎是由一个新的表值函数引起
  • 获取监视器数量

    我有一个网络应用程序 我想实现以下行为 当您单击特定链接时 如果用户有多个监视器 在具有给定名称的窗口中打开 URL 否则 将 iframe 的 src 属性更改为 url 的属性 如何在 JavaScript 中检测监视器计数 如果不可能
  • QT 中只获取文件而不获取目录?

    当我这样做时 QDir myDir home some location QStringList filesList myDir entryList 它返回该位置内的文件和目录 但我只想要文件 并且这些文件可以具有任意扩展名 有任何想法吗
  • 活动/非活动 Jquery 导航菜单

    我不熟悉 javascript 所以如果有人可以帮助我 我将非常感激 我有一个像这样的简单列表 ul li Menu 1 li li Menu 2 li li Menu 3 li ul 当用户单击菜单元素时 我想添加一个类 menu act
  • 检测视频何时缓冲,如果缓冲则显示 gif

    我想知道是否有办法在视频缓冲时显示 gif 我正在使用 HTML5 视频标签 其中有一种方法可以检测视频何时缓冲 如果没有 是否有替代方法 我看过 如何检测视频何时缓冲 https stackoverflow com questions 1
  • 有没有办法在 Windows 上全局安装 Composer?

    我读过全局安装文档 http getcomposer org doc 00 intro md globally对于 Composer 但仅适用于 nix 系统 curl s https getcomposer org installer p
  • Rails 中的多列主键

    我正在尝试将桌面应用程序迁移到rails 还处理相当老式的现有数据库 问题是我在一列中没有唯一的 ID 但表的三列保证了记录的唯一性 鉴于我有三个表 authors author name author letter author nr1
  • 此集合实例 Laravel 关系中不存在属性 [X]

    我在 Laravel 5 6 中使用了很多 Realtions 当我添加 phonebooks 时 我看到所有关系都工作正常 一切都很好 但是当我尝试在视图中显示它们时 我得到了属性在此集合上不存在的错误 这是关系代码 public fun
  • Eclipse,在哪里更改当前调试行背景?

    任何人都可以向我指出具有以下设置的首选项页面DEBUG当前行背景颜色 我已经将几乎所有颜色更改为深色 但在调试时仍然对这个几乎白色的当前行指示器感到恼火 请注意 编辑模式下的当前行指示是可以的 好吧 现在我自己找到了它 通过主要的逆向工程
  • Accounts.onCreateUser 在创建新用户时添加额外属性,好的做法吗?

    我正在创建新用户Accounts createUser http docs meteor com full accounts createuser如果你不做任何花哨的事情 它就会正常工作 但我想向新用户添加一些文档中未列出的其他字段 这是我