Javascript 在MongoDB中使用日期作为ID?
打算在Heroku/Node/Express/Mongodb web应用程序中记录API(用户/路由/参数/时间)的使用情况,以允许进行各种分析(谁/什么/何时/多久)。我能想到的一种方法是把它们推到MongoDB Mongo将自动生成一个ID,我认为这是可能的,但由于时间戳是我想要的,现在我想知道是否可以将日期用作ID 这似乎是可行的,时间戳似乎足够精细(Javascript 在MongoDB中使用日期作为ID?,javascript,mongodb,logging,mongoose,Javascript,Mongodb,Logging,Mongoose,打算在Heroku/Node/Express/Mongodb web应用程序中记录API(用户/路由/参数/时间)的使用情况,以允许进行各种分析(谁/什么/何时/多久)。我能想到的一种方法是把它们推到MongoDB Mongo将自动生成一个ID,我认为这是可能的,但由于时间戳是我想要的,现在我想知道是否可以将日期用作ID 这似乎是可行的,时间戳似乎足够精细(“_id”:ISODate(“2012-11-30T21:18:24.484Z”)),它们将是唯一的。这可以吗,还是只是在事情进展的时候问一
“_id”:ISODate(“2012-11-30T21:18:24.484Z”)
),它们将是唯一的。这可以吗,还是只是在事情进展的时候问一个“ID not unique”错误
var apilogSchema = new mongoose.Schema({
_id: {type: Date, default: Date.now},
userId: {type: mongoose.Schema.Types.ObjectId, required: false},
route: {type: String, required: false}
})
约翰尼所说的,我不推荐。尤其是当您使用它记录用户操作时。(有可能两个用户在同一毫秒内执行一个操作,而现在您的id不再是唯一的)
如果您在node.js上,并且希望您的id包含一个时间戳,那么请检查一下,除非您能够保证您的时间戳始终是唯一的,否则这最终会给您带来麻烦。