22

谁能指导我如何设置关系模式并在sails.js中执行连接?

4

2 回答 2

43

协会在 Waterline 中得到正式支持

概述

从文档

使用 Sails 和 Waterline,您可以跨多个数据存储关联模型。这意味着即使您的用户住在 PostgreSQL 中并且他们的照片位于 MongoDB 中,您也可以与数据进行交互,就好像他们一起住在同一个数据库中一样。您还可以使用同一个适配器建立跨越不同连接(即数据存储/数据库)的关联。例如,如果您的应用程序需要访问/更新存储在公司数据中心的 MySQL 数据库中的旧配方数据,而且还需要从云中全新的 MySQL 数据库存储/检索成分数据,这将派上用场。

支持的关联类型

计划的关联类型


原帖

我是 Waterline 的作者,它是 Sails 中使用的 ORM。Waterline 是全新的,我们一直在添加功能。目前我们不支持关联,但它是路线图上的下一个。我们为我认为大多数人会真正喜欢的关联制定了一个 API。您可以在 [Proposed Sails Associations API][1] 查看正在进行的工作和提议的 API。

我们接下来将处理关联和交易,并希望在下个月左右准备好它们。

同时,如果您使用 MySQL 或 PostgreSQL 适配器,它们都公开了一个原始.query()方法,允许您传入手动构建的 sql 查询并执行它。我完全意识到这并不理想,但应该允许您在我们获得对关联和加入的支持时继续构建您的应用程序。

查询方法的函数签名是:

Model.query(<sql query>, <optional data>, callback);
于 2013-07-31T17:45:22.243 回答
6

来自粒子香蕉的示例有效,但实际上应该使用“新”,如“var instance = new User._model(values)”。我正在使用以下代码,它可以工作。

Accounts.query(query, function(err, accounts) {
  if (err)
    return fn(err);

  accounts = _.map(accounts, function(account) {
    return new Accounts._model(account);
  });

  fn(null, accounts);
});
于 2014-02-11T07:21:08.487 回答