2017-03-01 7 views
0

Ich möchte UUID String stattdessen ObjectId in _id Feld verwenden.Mongoose Uuid nicht ObjectId

Modelle/user.js

var uuid = require('node-uuid'); 

var userSchema = mongoose.Schema({ 
    _id: {type: String, default: uuid.v4}, 
    nick: {type: String, unique : true, default: ""}, 
    email: {type: String, default: ""}, 
    pass: {type: String, default: ""}, 
    admin: {type: Boolean, default: false}, 
    created: {type: Date, default: Date.now}, 
    modified: {type: Date, default: Date.now} 
}); 

Einzigartige notwendig ist?

_id: {type: String, unique : true, default: uuid.v4}, 
+0

Mögliche Betrüger von http://stackoverflow.com/questions/31900863/mongoose-does-a-custom-id-need-to-beclared-as-an-index-and-be-unique. – JohnnyHK

Antwort

0

UUIDs sind per Definition eindeutig, daher müssen Sie die _id nicht unbedingt in Ihrem Modell als eindeutig definieren.

+0

Aber Sie möchten es immer noch so markieren, um Programmierfehler zu vermeiden. – robertklep

+0

Von wiki "Während die Wahrscheinlichkeit, dass eine UUID dupliziert werden wird, nicht Null ist, ist es so nahe an Null als vernachlässigbar" aber mongodb set _id als primärer Schlüssel (NOT NULL + UNIQUE INDEX) automatisch http://stackoverflow.com/questions/31900863/mongoose-does-a-custom-id-not-to-be-deklariert-als-index-and-be-unique sorry für dup frage – mcek

Verwandte Themen