【问题标题】:Mongoose uuid insted ObjectIdMongoose uuid insted ObjectId
【发布时间】:2017-03-01 21:59:56
【问题描述】:

我想在 _id 字段中使用 uuid 字符串而不是 ObjectId。

models/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}
});  

独特是必要的吗?

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

【问题讨论】:

标签: node.js mongodb mongoose mongoose-schema


【解决方案1】:

根据定义,UUID 是唯一的,因此您不一定需要将 _id 定义为在您的模型中是唯一的。

【讨论】:

  • 但是您仍然希望将其标记为这样以防止程序员错误。
  • 通过 wiki “虽然 UUID 被复制的概率不为零,但它非常接近于零以至于可以忽略不计”但是 mongodb 自动将 _id 设置为 PRIMARY KEY (NOT NULL + UNIQUE INDEX) stackoverflow.com/questions/31900863/… 对不起,重复问题
猜你喜欢
  • 2015-02-10
  • 2012-08-20
  • 2018-02-13
  • 2018-05-20
  • 2018-07-02
  • 2021-03-03
  • 2016-06-13
  • 2013-02-06
  • 2015-11-26
相关资源
最近更新 更多