2014-12-23 2 views
0

매우 간단한 레코드 인 MySQL 데이터베이스와 워터 라인 모델이 있습니다. Todo. Sails.js API의 개념 증명 (proof-of-concept)을 위해이 API를 사용하기 때문에 간단합니다.워터 라인 모델의 부울 속성

CREATE TABLE `Todo` (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `TodoItem` varchar(200) NOT NULL, 
    `Completed` bit(1) NOT NULL DEFAULT b'0', 
    PRIMARY KEY (`ID`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COMMENT=' '; 

나는이 방법으로 설정 한 모델을 가지고 :

module.exports = { 
    connection: 'companyMySql', 
    tableName: 'Todo', 
    attributes: { 
    ID: { 
     type: 'integer', 
     autoIncrement: true, 
     primaryKey: true 
    }, 
    TodoItem: { 
     type: 'string', 
     required: true 
    }, 
    Completed: { 
     type: 'boolean', 
     defaultsTo: 'false', 
     size: 1, 
     boolean: true 
    } 
    }, 
    autoCreatedAt: false, 
    autoUpdatedAt: false, 
    autoPK: false 
}; 

제가하는 데 문제는 도도의 자동 생성 API가 '완료'에 추가 cruft에의 무리를 생성한다는 것입니다 필드, 나는 그것을 제거하는 방법을 찾으려고 노력하고있어. 내가 부울 값을 기대하고있어,하지만 난 0/1, 또는 문자열 리터럴과 함께 일할 수 있지만, 내가 얻는 것은 아니다. 나는 필드에서 'min : 0, max : 1'과 같은 다양한 유효성 검사를 시도했지만 그 결과는 변경되지 않았습니다.

{ 
    "ID": 1, 
    "TodoItem": "Create Todo API", 
    "Completed": { 
    "0": 1, 
    "length": 1, 
    "parent": [ 
     100, 
     0, 
     0, 
     0, 
     3, 
     83, 
     69, 
     76, 
     69, 
     67, 
     96, 
     46, 
     96, 
     73, 
     68, 
     96, 
     44, 
     32, 
     96, 
     116, 
     111, 
     100, 
     111, 
     96, 
     // This continues on for quite some time 
    ], 
    "offset": 2128 // This value increases each time I call a GET until it gets to ~8000, then it resets to ~500 
    } 
} 

그래서 누군가가 내가이 밖으로 똑바로 앞으로 부울 값을 얻기 위해 무엇을 할 수 있는지에 대한 어떤 생각을 가지고 않습니다 여기

는 단일 레코드의 검색의 결과인가?

답변

1

추가 테스트가 끝나면 내 열 데이터 형식에 TINYINT (1)를 사용하여 예상대로 작동하는 부울 값을 얻을 수있었습니다. 내가 한 번이 모델은 예상대로 작동했습니다 :

Completed: { 
    type: 'boolean', 
    defaultsTo: false, 
    boolean: true 
} 

이것은 여전히 ​​이상하지 않은 것처럼 보이지만, 제 목적을위한 해결책이었습니다.