Я пытался определить UUID по умолчанию в mongoose / Node.js / Express для моего
поле _id в моей модели схемы ...
/**Demonstrator
*
*/
var mongoose = require('mongoose')
var uuid = require('node-uuid')
require('mongoose-uuid2')(mongoose);
var Schema = mongoose.Schema;
require('mongoose-long')(mongoose);
var Status = require('./Status');
var StatusSchema = Status.Schema;
var SchemaTypes = mongoose.Schema.Types;
const uuidv4 = require('uuid/v4');
var UUID = mongoose.Types.UUID;
var DemonstratorSchema = new Schema({
//_id: SchemaTypes.Long;
_id: { type: String, default: uuidv4()},
id2: SchemaTypes.Long,
Test: String,
})
module.exports = mongoose.model("Demonstrator", DemonstratorSchema);
console.log("DemonstratorSchema created!");
Я также пытался написать собственную функцию, как в этом посте:
Использование UUID в mongoose для ссылок на ObjectID , но это тоже не сработало ... просто не будет создавать сгенерированный по умолчанию UUID с mongoose в моей базе данных, почему?
РЕДАКТИРОВАТЬ: Я только что узнал, что он создает поле UUID или String с 32-байтовым значением UUID, я просто не смог сделать это непосредственно в оболочке Монго, хотя я думал, что моя схема вроде это принудительно, но это логично, что это бессмыслица, потому что оболочка mongo ничего не знает о моих бэкэнд-ограничениях;) извините за это .... но также можно с уверенностью предположить, что все, что генерируется из конечной точки REST API (POST), генерируется и сохраненный в моем бэкэнде, автоматически создаст UUID?
А что рекомендуется использовать в качестве версии UUID? v1? точнее v4 или даже v5?