Node.js Sequelize手动加入数据

时间:2012-12-10 06:31:47

标签: node.js join merge manual sequelize.js

现在用Sequelize for Node.JS绊倒了几个小时。我没有运气使用它来建立联想(我必须在有限的时间内撕掉我的大部分架构)。对于我的应用程序,只有少数关联(主要与博客相关)。

在我的一个博客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([]);
});

}

它主要起作用。我正在收回正确的数据,但我正在尝试将其与原始博客数据合并。最好是作为财产。

1 个答案:

答案 0 :(得分:1)

从第二个查询中转储我的authors对象的内容后,我了解了从Sequelize对象中提取数据时使用的属性

model.attritubes[];

是一个字符串数组,列出了从Sequelize Object中输出的数据属性。所以在我之前:

blog.AUTHORS = authors;

我做了:

blog.attributes.splice(5, 0, 'AUTHORS');

我不是一个聪明的人。