MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでタイムスタンプの差を時間単位で計算するにはどうすればよいですか?


タイムスタンプの差を計算するには、集約フレームワークを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.timestampDifferenceDemo.insertOne({
   "MovieBeginningTime": new ISODate("2019-05-12 10:20:30"),
   "MovieEndingTime":new ISODate("2019-05-12 12:30:20")
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7ba1f6d78f205348bc644")
}
> db.timestampDifferenceDemo.insertOne({
   "MovieBeginningTime": new ISODate("2019-05-12 04:00:00"),
   "MovieEndingTime":new ISODate("2019-05-12 07:10:00")
});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd7ba3b6d78f205348bc645")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.timestampDifferenceDemo.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5cd7ba1f6d78f205348bc644"),
   "MovieBeginningTime" : ISODate("2019-05-12T10:20:30Z"),
   "MovieEndingTime" : ISODate("2019-05-12T12:30:20Z")
}
{
   "_id" : ObjectId("5cd7ba3b6d78f205348bc645"),
   "MovieBeginningTime" : ISODate("2019-05-12T04:00:00Z"),
   "MovieEndingTime" : ISODate("2019-05-12T07:10:00Z")
}

以下は、MongoDBのタイムスタンプの差を計算するためのクエリです(時間単位)-

> db.timestampDifferenceDemo.aggregate([
   {$project: {
      DifferenceInHours: {$divide: [{$subtract: ["$MovieEndingTime", "$MovieBeginningTime"]}, 3600000]}
   }}
]);

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5cd7ba1f6d78f205348bc644"), "DifferenceInHours" : 2.1638888888888888 }
{ "_id" : ObjectId("5cd7ba3b6d78f205348bc645"), "DifferenceInHours" : 3.1666666666666665 }

  1. MongoDBでタイムスタンプ(降順)で並べ替える方法

    タイムスタンプで並べ替えるには、MongoDBでsort()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo737.insertOne({"timestamp" : new ISODate("2020-04-01" )}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ead682157bb72a10bcf065c") } > db.de

  2. Excelで時間差を計算する方法

    Microsoft Excel 予算計算、税計算、およびその他の多くの目的に使用できます。それが私たちに提供する機能のために、あなたはそれを別の形の計算機として使うことができます。 Excelを使用して、2つの時間の差を計算することもできます。これは、特定の開始時間と終了時間の間に従業員が働いた時間数を計算するのに役立ちます。従業員の労働時間の全記録は、Excelを使用して維持できます。これは、従業員に支払われる賃金または給与の計算に役立ちます。 開始時刻から終了時刻を引くだけなので、時間差を計算するのはとても簡単だと思いますか?先に進んで同じことをすると、2つの問題に直面します。そ