分组前的偏移值
Offset value before grouping
我有几个项目,其中一个字段是基于 UTC 的 unix 时间戳乘以 1000,以便在保持 long
(整数)值的同时包括毫秒。
{
"title" : "Merkel 'explains' refugee convention to Trump in phone call",
"iso" : "2017-01-31T04:03:53.807+0000",
"id" : NumberLong(1485835433807)
}
{
"title" : "NASA to Explore an Asteroid Containing Enough Mineral Wealth to Collapse the World Economy",
"iso" : "2017-01-30T23:20:27.327+0000",
"id" : NumberLong(1485818427327)
}
{
"title" : "IMGKit: Python library of HTML to IMG wrapper",
"iso" : "2017-01-30T23:15:39.488+0000",
"id" : NumberLong(1485818139488)
}
iso
字段只是一个便于调试的文本字符串,没有其他用途。
我打算使用 中描述的方法对项目重新采样,创建每天的项目摘要,最初只是每天计数。
问题是时间戳("id"
字段)不能真正用于存档,因为 UTC 偏移量。根据用户的位置(或本地插入时间,即 00:30 星期一当地时间与 23:30 星期日 UTC 时间,如果时区为 +1h),项目将属于某一天或其他,因此该字段缺少此信息。
假设我只想在 "id"
字段中添加一个偏移量,即 3600000,即以毫秒表示的一小时,然后开始根据 "id"
字段对数据进行重新采样,我怎样才能在聚合管道中实现这个?
有没有办法让第一阶段采用 "id"
字段值,将 3600000 添加到该值并将其存储到 "id_offsetted"
字段中,然后我可以在该字段上执行下一个阶段?
3.4 之前的版本
{$project: {
"title" : 1,
"iso" : 1
"id" : 1,
"id_offsetted" : {$add: ["$id", 3600000]}
} }
版本 3.4 以上
{$addFields: {
"id_offsetted" : {$add: ["$id", 3600000]}
} }
我有几个项目,其中一个字段是基于 UTC 的 unix 时间戳乘以 1000,以便在保持 long
(整数)值的同时包括毫秒。
{
"title" : "Merkel 'explains' refugee convention to Trump in phone call",
"iso" : "2017-01-31T04:03:53.807+0000",
"id" : NumberLong(1485835433807)
}
{
"title" : "NASA to Explore an Asteroid Containing Enough Mineral Wealth to Collapse the World Economy",
"iso" : "2017-01-30T23:20:27.327+0000",
"id" : NumberLong(1485818427327)
}
{
"title" : "IMGKit: Python library of HTML to IMG wrapper",
"iso" : "2017-01-30T23:15:39.488+0000",
"id" : NumberLong(1485818139488)
}
iso
字段只是一个便于调试的文本字符串,没有其他用途。
我打算使用 中描述的方法对项目重新采样,创建每天的项目摘要,最初只是每天计数。
问题是时间戳("id"
字段)不能真正用于存档,因为 UTC 偏移量。根据用户的位置(或本地插入时间,即 00:30 星期一当地时间与 23:30 星期日 UTC 时间,如果时区为 +1h),项目将属于某一天或其他,因此该字段缺少此信息。
假设我只想在 "id"
字段中添加一个偏移量,即 3600000,即以毫秒表示的一小时,然后开始根据 "id"
字段对数据进行重新采样,我怎样才能在聚合管道中实现这个?
有没有办法让第一阶段采用 "id"
字段值,将 3600000 添加到该值并将其存储到 "id_offsetted"
字段中,然后我可以在该字段上执行下一个阶段?
3.4 之前的版本
{$project: {
"title" : 1,
"iso" : 1
"id" : 1,
"id_offsetted" : {$add: ["$id", 3600000]}
} }
版本 3.4 以上
{$addFields: {
"id_offsetted" : {$add: ["$id", 3600000]}
} }