2014-07-01 1 views
1

이전 SO discussion에서 두 개의 조건으로 여러 개의 sequelize 인스턴스를 업데이트 할 수있었습니다.sequelize를 사용하면 OR 연산자를 where 조건과 함께 어떻게 사용합니까?

누구든지 AND 연산자 대신 논리 OR 연산자를 사용하여 sequelize .update 메서드를 어떻게 수정할 수 있습니까? 다음은 업데이트의 두 조건에 AND를 사용하여 sequenize .update 메소드입니다. 다음과 같이

global.db.Task.update(
    {Desc: 'New Upate'},  //set attribute 
    {cd: 'match', Desc: null} //where criteria 
).success(function(affectedRows) { ... }); 

이 SQL 문을 읽습니다 :

UPDATE "Task" SET "Desc"='New Update' WHERE "Cd"='match' AND "Desc" IS NULL 

답변

1

시도

global.db.Task.update(
    {Desc: 'New Upate'},  //set attribute 
    ["cd = ? OR Desc = ?", 'match', null] //where criteria 
).success(function(affectedRows) { ... }); 

업데이트 (밀러) : 추가 나는 말에서 놓친 쉼표 설정된 속성 행.

+0

당신이 생각 원시 SQL을 만들어 이러한 변화가 있습니까? – JnL

0

global.db.Task.update ({update_data}, {여기서, {where_data}}). 다음 (기능 (affectedrows) {})

global.db.Task.update({Desc: 'New Upate'}, where: {$or: [{cd: "match"}, {Desc: null}]}).success(function(affectedRows) { ... }); 
관련 문제