時系列データをmongodbデータベースに保存しています。ここで、フィールドの1つはISODateオブジェクトです。ISODateオブジェクトの値が分と秒でゼロであるすべてのアイテムを取得しようとしています。つまり、ラウンドアワーにタイムスタンプを持つすべてのオブジェクトです。
それを行う方法はありますか、または時間、分、秒の個別のフィールドを作成し、たとえばfind({"minute":0、 "second":0})を実行してそれらを直接クエリする必要がありますか?
ありがとう!
時系列データをmongodbデータベースに保存しています。ここで、フィールドの1つはISODateオブジェクトです。ISODateオブジェクトの値が分と秒でゼロであるすべてのアイテムを取得しようとしています。つまり、ラウンドアワーにタイムスタンプを持つすべてのオブジェクトです。
それを行う方法はありますか、または時間、分、秒の個別のフィールドを作成し、たとえばfind({"minute":0、 "second":0})を実行してそれらを直接クエリする必要がありますか?
ありがとう!
@Deveshが言うようにこれを行うことができます。または、より適切に適合する場合は、集約フレームワークを使用できます。
db.col.aggregate([
{$project: {_id:1, date: {mins: {$minute: '$dateField'}, secs: {$second: '$dateField'}}}},
{$match: {mins: 0, secs: 0}}
]);
そのようです。
分と秒のない日時のみを含む列をコレクションにもう1つ追加できますか。これにより、クエリがより高速で使いやすくなります。分と秒の部分がない日時列になります