Poniższy kod reprezentuje model konta w pliku Sails.js v0.9.4.Niepowodzenie unikalnej właściwości w pliku Sails.js
module.exports = {
attributes: {
email: {
type: 'email',
unique: true,
required: true
},
password:{
type: 'string',
minLength: 6,
maxLength: 15,
required:true
}
}
};
Kiedy wysłać dwa stanowiska i żądania PUT poprzez Postman do localhost: 8080/konto, unikalna własność e-mail nie powiedzie się. Konkretnie mogę wysłać następujące żądania HTTP z Postman:
POST http://localhost:8080/[email protected]&password=123456
POST http://localhost:8080/[email protected]&password=123456
PUT http://localhost:8080/account?id=1&[email protected]
GET http://localhost:8080/account
Ostatnia prośba GET pokazuje mi:
[
{
"email": "[email protected]",
"password": "123456",
"createdAt": "2013-09-30T18:33:00.415Z",
"updatedAt": "2013-09-30T18:34:35.349Z",
"id": 1
},
{
"email": "[email protected]",
"password": "123456",
"createdAt": "2013-09-30T18:33:44.402Z",
"updatedAt": "2013-09-30T18:33:44.402Z",
"id": 2
}
]
Gdyby tak się stało?
* Dla tych, którzy nie wiedzą, Waterline generuje domyślnie identyfikator, który automatycznie zwiększa się w każdym wstawieniu.
mogłem przezwyciężyć ten "wadliwy" zachowanie przez ustawienie 'autoPK: FALSE. – george
Po ustawieniu opcji autoPK na wartość false moja kolumna id została usunięta. –