sails.js 嵌套模型

2024-04-28

在 sails.js 0.10 中我尝试执行以下操作

// user.js
module.exports = {
  attributes: {

    uuid: {
        type: 'string',
        primaryKey: true,
        required: true
     } ,
     profile: {

        firstname: 'string',
        lastname: 'string',
        birthdate: 'date',
        required: true
     }
  }
};

我在尝试创建用户时遇到错误,并且 sailsJS 无法识别“个人资料”属性。我不确定 sails 是否支持嵌套 JSON 结构,如果支持,我不确定如何构建它。

error: Sent 500 ("Server Error") response
error: Error: Unknown rule: firstname

我尝试过以下方法,但也失败了

// user.js
module.exports = {
  attributes: {

    uuid: {
        type: 'string',
        primaryKey: true,
        required: true
     } ,
     profile: {

        firstname: {type: 'string'},
        lastname: {type: 'string'},
        birthdate: 'date',
        required: true
     }
  }
};

我知道 sailsJS 0.10 有一个名为“JSON”的属性,但不确定它如何适合这个模块。


Waterline 不支持定义嵌套模式,但您可以使用json类型以将嵌入对象存储在模型中。所以,你会这样做:

profile: {
    type: 'json',
    required: true
}

然后你可以创建 User 实例,例如:

User.create({profile: {firstName: 'John', lastName: 'Doe'}})

不同之处在于firstName and lastName字段将不会被验证。如果您想验证嵌入的架构profile对象匹配你想要的,你必须实现beforeValidate()模型类中的生命周期回调:

attributes: {},
beforeValidate: function(values, cb) {
    // If a profile is being saved to the user...
    if (values.profile) {
       // Validate that the values.profile data matches your desired schema,
       // and if not call cb('profile is no good');
       // otherwise call cb();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sails.js 嵌套模型 的相关文章

  • 排除 npm 包中的测试代码?

    The 开发依赖 https docs npmjs com files package json devdependenciesnpm 的 package json 文档的部分说要在那里列出您的测试依赖项 以便您的包的用户不必拉取额外的依赖
  • 如何使用 exceljs 读取 .xls 文件?

    我无法使用 exceljs 库读取 xls 文件 我还尝试使用 fs 更改 xlsx 中的文件后进行读取 但仍然无法从该文件中读取数据 有没有办法使用 exceljs 读取 xls 文件 虽然它的文档没有明确说明 exceljs仅支持 XL
  • 从活动目录读取objectGUID

    我正在尝试使用 node js 从 AD 获取信息 我试过了activedirectory and ldapauth fork一般来说 代码可以工作 但如果我需要一些octetstring数据如objectGUID 我在对象中看到了垃圾字符
  • 定时器内嵌套异步等待 - 不返回所需的值

    我必须使用 Mocha 和 chai 测试来测试端点的响应 下面是相同的代码 async function getData userId let response let interval setInterval async gt resp
  • 如何在没有 DOM 的情况下将 javascript 作为 node.js 脚本运行?

    https github com jasondavies d3 cloud https github com jasondavies d3 cloud是一个使用 D3 库的 javascript 文字云 这是一个交互式演示 http www
  • 安装 npm 包时自动安装类型定义

    有没有办法配置npm以这样的方式 每当我安装一个包时 它都会 检查里面是否有类型定义 如果没有 请尝试安装 types PACKAGE与 save dev flag 理想情况下 我希望这能够自动发生 作为插件或其他东西 而不需要编写限制 A
  • 使用 PassportJS 和 Connect for NodeJS 对 Facebook 用户进行身份验证

    我正在尝试使用 connect 将 Passport 集成到我的 NodeJS 服务器中 但似乎无法正确执行 所有指南 示例都使用expressJS 因此我尽力重新格式化代码以与我的代码一起使用 但我似乎无法让它工作 相关部分写在下面 有人
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • 使用react_on_rails gem 创建演示项目时的节点问题

    我正在尝试遵循这个tutorial https shakacode gitbooks io react on rails content docs tutorial html使用 gem react on rails 创建一个虚拟项目 我想
  • 从节点使用 TypeScript 编译器

    使用咖啡脚本可以很容易地做到这一点 var coffee require coffee script coffee compile a 1 gt function n var a n n a 1 n n call this n 有没有办法用
  • Node.js 和代码优先

    我使用代码优先方法开发实体框架 现在我正在学习 Node js 我想知道是否有一种方法可以使用 Node js 和一些库来实现相同的代码优先方法 我正在考虑使用MySql作为数据库 你可以看看续集 http docs sequelizejs
  • 在浏览器中打开的 .mhtml 文件中填写输入

    我想对 mhtml 文件运行 e2e 测试 即填写表格 在 mhtml 文件上查看和提取数据效果非常好 但我无法填写任何内容input字段 既不是手动也不是通过木偶操作者 你可以用这个试试 mhtml 文件 https gist githu
  • 为什么发送 fetch() 时我的响应数据未定义?

    我正在尝试在客户端使用 fetch 将数据发布到我的 NodeJS 服务器或从我的 NodeJS 服务器发布数据 服务器很好地收到了 post 请求 我能够记录 req 变量 但是当我 res send any data 时 客户端无法检测
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • 使用单个“proxyServer”将 Websocket 代理到多个目标

    我正在开发一个nodeJS websocket代理服务器 用例是当 websocket 请求到来时 我将检查其凭据 添加新标头 然后根据其组 来自用户 ID 将 websocket 连接重定向到其目标 webscoket 服务器 我发现大多
  • 将文件从一个文件夹移动到 s3 中的另一个文件夹

    首先 我尝试将文件复制到其他文件夹中 但无法删除它 仅当文件复制到目标文件夹时 如何才能删除该文件 const s3Params Bucket bucket CopySource bucket objectkey Key processed
  • 状态代码 304(Jade、Node、Express)

    我在我的 jade 文件中链接 bootstrap 和 jquery link rel stylesheet href stylesheets bootstrap css and script src javascripts jquery
  • sails js 数据关系

    sails js 是否支持模型 集合之间的关系 如果是这样 有人可以指出文档吗 例如 我有 2 个模型 1 生产 production name string description text 2 Album album name stri
  • uncss 错误:C.UTF-8:不是有效的语言标签

    嗨 我正在尝试使用UNCSS https github com giakki uncss第一次从 CSS 中删除未使用的样式 我收到以下错误 Fontconfig 警告 忽略 C UTF 8 不是有效的语言标记 home ubuntu nv
  • nvm代理设置配置文件

    在Linux下 我使用 http proxy and https proxy这适用于node and npm but nvm不使用它们 我应该在哪个配置文件中写入代理设置 uname a Linux Breizh Atao 3 19 0 3

随机推荐

  • 设计问题:哪种做法更好? (第2部分)

    我有一个 Web 界面 我将从中收集用户数据 用户名 密码 电子邮件等 后端必须将这些数据提供给 3 个其他系统 SystemA SystemB SystemC 配置由 3 个不同的 API 完成 每个 API 对应一个系统 A B 和 C
  • REQ/REP 模式中的 ZeroMQ FiniteStateMachineException

    我有两个简单的组件 它们应该使用 REQ REP ZeroMQ 模式相互通信 服务器 REP Socket 是使用 pyzmq 在 Python 中实现的 import zmq def launch server print Launchi
  • Android:自动重新连接 BLE 设备

    我的目标是让 Android 设备重新连接到之前连接过的 BLE 设备无需用户干预与经典 BT 配对设备的操作方式相同 甚至可以通过电源循环工作 BTLE 设备的想法之一是节省服务 绑定和启用状态 以便重新连接非常快并且在外设上消耗很少的功
  • EF,Code First - 如何在插入时设置自定义 Guid 标识值

    在处理在数据库中插入新实体时 我面临以下问题Guid作为主键 代码优先的 EF 5方法 我知道有很多类似的主题 因为我为此问题运行了几个小时 但我找不到与此问题相关的主题 举个例子 我的 POCO 类是 public class Entit
  • 在“等待初始通信数据包”时失去与 MySQL 服务器的连接

    我见过许多堆栈溢出问题 一些博客尝试了解决方法 但没有任何帮助 因此重新发布问题并提供更多详细信息 我看到 MySQL 和 Python 应用程序出现奇怪的行为 详细信息如下 1 我的应用程序在 MySQL 上运行得非常好 在许多平台上进行
  • Android Studio Gradle 错误 BuildActionExecuter.withCancellationToken

    我从此链接下载了 Android Studio 最新版本 2 0 http tools android com download studio canary http tools android com download studio ca
  • 使用不带标签的 Core.Std.List.fold_left

    我正在尝试 Core 的List fold left List fold left a Core Std List t gt init b gt f b gt a gt b gt b
  • 流量类型问号?

    对使用 感到困惑在流动中 据我所知 感谢参数之前或之后的流类型问号 https stackoverflow com questions 47314749 flow type question mark before or after par
  • 来自 StreamReader 的原始文件字节,幻数检测

    我试图区分 文本文件 和 二进制 文件 因为我实际上想忽略具有 不可读 内容的文件 我有一个文件 我认为它是 GZIP 存档 我试图通过检测幻数 文件签名来忽略此类文件 如果我在 Notepad 中使用十六进制编辑器插件打开文件 我可以看到
  • 无法使用“in”运算符在中搜索“_id”

    我正在尝试使用 mongoose 和express 来获取现有的用户文档 但我只得到这个 webroot api domain com production node modules mongoose lib document js 162
  • 删除 JavaScript 中的不间断空格

    我无法从字符串中删除空格 首先我要转换div to text 删除标签 有效 然后我尝试删除 nbsp 字符串的一部分 但它不起作用 知道我做错了什么 newStr myDiv text newStr newStr replace nbsp
  • 当我已经在Ubuntu上安装了nodejs 8时,还可以安装NVM吗?

    我已经安装了nodejs 8 我无法使用角度1运行karma测试 正如Karma官方网站上指定的那样Note Karma currently works on Node js 0 10 0 12 x 4 x 5 x 6 x and 7 x
  • 在准备好的语句中设置数组,抛出 java.sql.SQLFeatureNotSupportedException

    我有一个字符串列表 我想将其设置为准备好的语句中的参数 这里的问题和答案看起来很简单 如何使用数组列表作为准备好的语句参数 https stackoverflow com questions 17842211 how to use an a
  • Rails 3 session_store 域 :all 的作用是什么?

    更新了问题以使其更清楚 据我所知 您可以设置 session store 的域以在子域之间共享会话 如下所示 Rails application config session store cookie store key gt my key
  • Android 库项目依赖于其他库项目

    由于各种原因 我遇到的情况是 我在小型独立的 android 库项目中存在多个应用程序组件 这些组件正在编译为 aars 在某些情况下 这些会被推送到 Maven 存储库并以这种方式使用 这很好 一切都很好 在其他情况下 这些 aar 需要
  • ASP.NET MVC 4 中的全局变量

    我目前正在构建一个 ASP Net MVC 4 SAAS 应用程序 C 并且一直致力于设计计划 我的意思是如果客户选择Plan A他们应该有权访问一些东西 如果他们选择的话Plan B他们可以接触其他人等等 我坚持的部分是与所有操作共享帐户
  • Vuejs 2 将 prop 对象传递给子组件并检索

    我想知道如何使用 props 和检索将对象传递给子组件 我了解如何将其作为属性来执行 但是如何传递对象并从子组件中检索对象 当我从子组件中使用 this props 时 我收到未定义或错误消息 父组件
  • 更改 TextField Material-UI v1 的 onHover 颜色

    我无法通过覆盖类名来更改 TextField 的 onHover 颜色 我怎样才能做到这一点 我正在使用材质 UI v1 https github com callemall material ui tree v1 beta https g
  • 卡住。如何将这 3 个文本居中并间隔开? [复制]

    这个问题在这里已经有答案了 尝试向左 居中 向右移动 3 段文本 尝试使用 CSS 但我陷入困境 Thanks 您可以使用 flex 并将 justify content 设置为 space Between text container d
  • sails.js 嵌套模型

    在 sails js 0 10 中我尝试执行以下操作 user js module exports attributes uuid type string primaryKey true required true profile firs