Node.js Sequelize手动连接数据
现在用Sequelize for Node.JS来绊倒几个小时。 我没有这样的运气来build立联系(我必须在有限的时间内把我的大部分架构拆开)。 对于我的应用程序,只有几个关联(大部分博客相关)。
在我的一个博客API调用中(这是针对特定的博客ID):
exports.single = function (req, res, next) { db.Models.blog.find({ where: res.locals.where }) .success(function (blog) { getAuthors(blog.BLOG_ID, function (authors) { blog.AUTHORS = authors; res.locals.data = blog; next(); }); }) .error(function (err) { res.locals.error = err; next(); });
}
我打电话给getAuthors(blogId)来获取作者< – >博客链接表中的所有作者:
function getAuthors (blogId, fn) { db.Models.author.findAll({ where: { BLOG_ID: blogId } }) .success(function (authors) { fn(authors); }) .error (function (err) { fn([]); });
}
它的工作,大多数。 我正在获取正确的数据,但我正在尝试将其与原始博客数据合并。 最好作为财产。
转储我的作者对象的内容从第二个查询返回后,我从一个Sequelize对象中获取了一个属性
model.attritubes[];
是一个string数组,列出哪些数据属性将从Sequelize对象中输出 。 所以在我的路线之前:
blog.AUTHORS = authors;
我做了:
blog.attributes.splice(5, 0, 'AUTHORS');
我不是一个聪明的人。