我有一个代码库,用于在NodeJS中将多个转换流传输在一起
stream.on('data',function(data){}).pipe(data_work1).pipe(data_work2).pipe(data_work3).pipe(insertDataIntoDB);
工作正常。我的问题是当源数据具有数组时的设计。
如果我的源数据具有如下所示的数组:
{
"comp":"company1",
[
{
"name":"yoohoo",
"age":"43"
},
{
"name":"yolo",
"age":"21"
}
]
}
如果我想将上述文档分解成较小的部分
{
"comp":"company1",
"name":"yoohoo",
"age":"43"
}
和
{
"comp":"company1",
"name":"yolo",
"age":"21"
}
我在data_work1阶段执行此操作。我想将每个单独的文档(yolo和yoohoo)传递给data_work2,data_work3,insertDB阶段。只有完成此操作后,我才想在data_work1中获取下一个数据文档。
我知道在执行回调之前,不会处理下一个阶段/流。如何将指示/标记传递给上一个阶段,以指示它传递下一个数据文档?例如,我将原始数据文档(带有数组)分解为单个文档,将单个文档传递到下一个流阶段,即data_work2等,然后如何告诉上一个“流”阶段传递下一个文档?