0

Heroku / Node / Express / Mongodb WebアプリでAPI(user / route / params / time)の使用をログに記録し、さまざまな分析(誰が/何を/いつ/どのくらいの頻度で)できるようにすることを目的としています。私が考えることができる1つの方法は、それらをMongoDBにプッシュすることです。

MongoはIDを自動的に生成し、自動生成された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}
})

mongodbdocument_idフィールドから日付と時刻を取得します

4

1 に答える 1

1

ジョニーが言ったことは、それをお勧めしません。特に、ユーザーアクションのログ記録に使用している場合。(2人のユーザーが同じミリ秒でアクションを実行する可能性があり、IDはもう一意ではありません)

node.jsを使用していて、IDにタイムスタンプを含める場合は、node-uuidを確認してください。

于 2012-11-30T22:53:07.597 に答える