Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在MongoDB中使用日期作为ID?_Javascript_Mongodb_Logging_Mongoose - Fatal编程技术网

Javascript 在MongoDB中使用日期作为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”)),它们将是唯一的。这可以吗,还是只是在事情进展的时候问一

打算在Heroku/Node/Express/Mongodb web应用程序中记录API(用户/路由/参数/时间)的使用情况,以允许进行各种分析(谁/什么/何时/多久)。我能想到的一种方法是把它们推到MongoDB

Mongo将自动生成一个ID,我认为这是可能的,但由于时间戳是我想要的,现在我想知道是否可以将日期用作ID

这似乎是可行的,时间戳似乎足够精细(
“_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包含一个时间戳,那么请检查一下,除非您能够保证您的时间戳始终是唯一的,否则这最终会给您带来麻烦。