如何在 Pentaho Data Integrator 中使用 mongodb 函数 gettimestamp() 提取 ObjectId 到时间戳

问题描述 投票:0回答:1

我正在尝试修改 Pentaho 上的 ETL 流程,即 mongodb 到 oracle。我想将其更改为增量流,因此我需要一个创建日期。

在 mongodb 中,有一列名为 _id 的列,其中包含 ObjectId,它使用 getTimestamp() 函数为您提供时间戳。

ObjectId.getTimestamp()

如何在 json 路径上使用它?

这是来自 pentaho 的 ss;

enter image description here

我尝试了这个 $._id.getTimestamp() 它给了我空值。

mongodb pentaho pdi
1个回答
0
投票
var objectIdFromDate = function (date) {
    return Math.floor(date.getTime() / 1000).toString(16) + "0000000000000000";
};

var dateFromObjectId = function (objectId) {
    return new Date(parseInt(objectId.substring(0, 8), 16) * 1000);
};

来源和学分: 史蒂夫·鲁迪奥特 https://github.com/SteveRidout/mongo-object-time

© www.soinside.com 2019 - 2024. All rights reserved.