2013-07-12 11 views
5

Also bin ich mit SailsJS rum, um zu versuchen, eine API schnell zu bekommen. Ich habe noch keinen Datenspeicher eingerichtet (wird wahrscheinlich mongodb verwenden), aber ich habe gesehen, dass es sich dabei um eine SQLite-Datenbank handelt. Also habe ich ein Model und einen Controller für einen User generiert. Also im Browser treffe ich user/create. Ich sehe createdAt und updatedAt, aber keine ID. Benötige ich einen echten Datenspeicher, um eine ID zu sehen? Ist das noch etwas, was du kostenlos bekommst?ID in Sails JS Antwort nicht sehen

Adapter

// Configure installed adapters 
// If you define an attribute in your model definition, 
// it will override anything from this global config. 
module.exports.adapters = { 

    // If you leave the adapter config unspecified 
    // in a model definition, 'default' will be used. 
    'default': 'disk', 

    // In-memory adapter for DEVELOPMENT ONLY 
    // (data is NOT preserved when the server shuts down) 
    memory: { 
     module: 'sails-dirty', 
     inMemory: true 
    }, 

    // Persistent adapter for DEVELOPMENT ONLY 
    // (data IS preserved when the server shuts down) 
    // PLEASE NOTE: disk adapter not compatible with node v0.10.0 currently 
    //    because of limitations in node-dirty 
    //    See https://github.com/felixge/node-dirty/issues/34 
    disk: { 
     module: 'sails-dirty', 
     filePath: './.tmp/dirty.db', 
     inMemory: false 
    }, 

    // MySQL is the world's most popular relational database. 
    // Learn more: http://en.wikipedia.org/wiki/MySQL 
    mysql: { 
     module  : 'sails-mysql', 
     host  : 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS', 
     user  : 'YOUR_MYSQL_USER', 
     password : 'YOUR_MYSQL_PASSWORD', 
     database : 'YOUR_MYSQL_DB' 
    } 
}; 

Modell

/*--------------------- 
    :: User 
    -> model 
---------------------*/ 
module.exports = { 

    attributes: { 
     firstName: 'STRING', 
     lastName: 'STRING' 
    } 

}; 
+0

Versuchen Sie, dies zu Ihrem Modell hinzuzufügen. 'autoPk: true,' – Travis

Antwort

0

Sie .../user/findAll alle Benutzer aufzulisten. Jeder Benutzer sollte eine "ID" -Eigenschaft haben, z.

{ 
    "username":"admin", 
    "password":"$2a$10$SP/hWtlJINkMgkAuAc9bxO1iWsvVcglwEU4ctGCiYpx.7ykaFWt56", 
    "createdAt":"2013-07-12T17:36:29.852Z", 
    "updatedAt":"2013-07-12T17:36:29.852Z", 
    "id":1 
} 
+0

Nicht zu sehen. Unten ist alles was ich sehe. '[{" firstName ":" Tschad "," createdAt ":" 2013-07-12T04: 13: 16.917Z "," updatedAt ":" 2013-07-12T04: 13: 16.917Z "}, {" firstName ":" Tschad "," lastName ":" Hietala "," createdAt ":" 2013-07-12T04: 13: 33.538Z "," updatedAt ":" 2013-07-12T04: 13: 33.538Z "}, {"createdAt": "2013-07-12T04: 15: 44.243Z", "updatedAt": "2013-07-12T04: 15: 44.243Z"}, {"createdAt": "2013-07-12T04: 15: 47.704Z "," updatedAt ":" 2013-07-12T04: 15: 47.704Z "}, {" createdAt ":" 2013-07-12T04: 16: 15.506Z "," updatedAt ":" 2013-07-12T04 : 16: 15.506Z "}]' – Chad

+0

/config/adapters.js konfiguriert die verwendete Datenbank. Ich bekomme eine ID-Eigenschaft mit beiden Standard: "disk" und "Standard:" Speicher "". Können Sie Ihre /config/adapters.js und /api/models.User.js veröffentlichen? – JohnSz

+0

Außerdem: zeigt .../user/find/1 Ihnen den ersten Benutzer? Probieren Sie es mit ein paar mehr. – JohnSz

0

anfordern kann ich dies zwischen verschiedenen DB in einer gleichen Segel Anwendung Schalt Kasse haben und ihre Arbeit absolut in Ordnung .

In diesem Fall So können Sie eine Eigenschaft von autoPK zu Ihrem Modell hinzufügen und es auf true setzen wie folgt vor:

module.exports = { 
    attribute:{ 
     //your model attributes with validations. 
    }, 
    autoPK:true 
} 

Wenn dies funktioniert nicht für Sie dann denke ich, es mit etwas nicht in Ordnung ist Ihr Kopie der Segel, die Sie auf Ihrem System installiert haben.

Bitte versuchen Sie, die neuere Version (v0.9.8) der Segel mit npm zu installieren oder versuchen Sie, Ihre package.json mit neueren Version (v0.9.8) Details zu aktualisieren und npm installieren.