【发布时间】:2012-11-19 03:59:09
【问题描述】:
打算在 Heroku/Node/Express/Mongodb Web 应用程序中记录 API(用户/路由/参数/时间)的使用情况,以允许进行各种分析(谁/什么/何时/多久)。我能想到的一种方法是将它们推送到 MongoDB。
Mongo会自动生成一个ID,我看到可以extract the created time from the autogenerated ID,但是既然时间戳就是我想要的,现在我想知道我是否可以使用日期作为 ID ?
这似乎可行,而且时间戳似乎足够精细 ("_id" : ISODate("2012-11-30T21:18:24.484Z")),它们将是独一无二的。这可以吗,还是只是在事情开始时询问“ID 不是唯一的”错误?
var apilogSchema = new mongoose.Schema({
_id: {type: Date, default: Date.now},
userId: {type: mongoose.Schema.Types.ObjectId, required: false},
route: {type: String, required: false}
})
【问题讨论】:
-
除非你能保证你的时间戳总是唯一的,否则这最终会给你带来麻烦。
标签: javascript mongodb logging mongoose