2016-04-27 17 views
0

Ich versuche, eine UUID zu generieren, wenn ein Formular ausgefüllt und auf dem Server veröffentlicht wird. MongoDB erfasst alle Datensätze mit Ausnahme von userId. Idealerweise möchte ich, dass die UUID die Eltern ist, die für jeden Benutzer eindeutig ist (die ich in einem Cookie speichern werde), und der Eintrag search submission wird das Kind der UUID sein.uuid wird nicht in mongodb gespeichert

Wie wird die UUID nicht zusammen mit den Suchdaten gespeichert, wenn sie produziert und verfügbar ist. Ich habe die userId im Schema von Number zu String ohne Erfolg geändert.

Mongoose Schema

var SearchSchema = mongoose.Schema({ 
    userId: String, 
    search: { 
    firstName: String, 
    lastName: String, 
    email: String 
    } 
}) 

Daten speichern

var firstName = req.body.firstName 
    var lastName = req.body.lastName 
    var email = req.body.email 
    var userID = generateUUID() 

    console.log(userID) // This works 

    // Push to DB 
    var data = new Search({ 
    userID: userID, // This doesn't appear to be stored 
    search: { 
     firstName: firstName, 
     lastName: lastName, 
     email: email 
    } 
    }) 

    Search.createSearch(data, function(err, search){ 
    if (err) throw err 
    console.log('hello' + search) 
    }) 

Console

{ search: 
    { email: '@rhysedwards.com', 
    lastName: 'edwards', 
    firstName: 'rhys' }, 
    _id: 5720d8211a44fac4dd6657c1 } 

Antwort

3

Felder in MongoDB/Mongoose Groß- und Kleinschreibung DB. Ihr Schema ruft das Feld userId auf, aber das Objekt, das Sie in der Datenbank speichern, hat das Feld userID. Beachten Sie die Groß-/Kleinschreibung des .

+0

Sehr guter Fang. Ich las den Code buchstäblich immer und immer wieder und merkte es nicht. –

Verwandte Themen