2012-12-10 12 views
1

Node.JS에 대한 Sequelize를 사용하면 몇 시간 동안 걸림돌이됩니다. 제한된 시간에 그렇게하기 위해 대부분의 아키텍처를 찢어 놓아야했습니다. 내 응용 프로그램에는 몇 가지 연관성 (주로 블로그 관련) 만 있습니다. 내 블로그 API 호출 중 하나 (이 특정 블로그 ID입니다)에서Node.js Sequelize 수동으로 데이터 합치기

:

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

내 저자의 내용을 덤프 후 두 번째 쿼리에서 돌아오고, 나는 Sequelize 객체

model.attritubes[]; 

에서 데이터를 당기는 때 사용되는 속성을 알게 객체이다 Sequelize Object에서 으로 출력됩니다. 그래서 내 줄 앞에 :

blog.AUTHORS = authors; 

내가 그랬어 :

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

나는 똑똑한 사람이 아니다.