0

我有一个mongodb看起来像这样的集合

Id  Name    createTime  updateTime  Age Country verificationStatus
Id1 Abc 10-7-2013   10-7-2013   21  Xxxx    INITIAL_MAIL
Id2 Efg 9-7-2013    10-7-2013   22  Xxxx    FIRST_REMINDER
Id3 Hij 8-7-2013    10-7-2013   45  Xxxx    INITIAL_MAIL

我有一个级联工作,它从另一个集合进行一些评估,我想通过“<code>Id”只更新“<code>verificationStatus”和“<code>updateTime”列而不干扰其他列

但是在级联中,如果我设置这两列,我将丢失其他列数据。我只剩下这样的东西了。

Id  updateTime  verificationStatus
Id1 11-7-2013   BLOCKED
Id2 11-7-2013   SECOND_REMINDER
Id3 11-7-2013   FIRST_REMINDER

SinkMode UPDATE适用于逐个事务更新事务,但不适用于单个列数据。

我该如何解决这个问题?

PS:加入或合并不起作用。由于 Source 和 Sink 不能通过级联设计指向同一个集合。

4

1 回答 1

1

选项1:

编写一个级联Function来更新上面的这两列,并将Function原始字段和原始字段传递到 a中Pipe,并使用Fields.REPLACE新的列值替换这些列。

选项 2:

Pipes您可以使用要保留的原始列数据创建两个,其中包括id您在帖子中提到的字段,另一个Pipe更新这些列,然后使用 aCoGroup将这些数据集重新组合在一起。

于 2013-07-19T17:33:09.820 回答