BackfillFromRtEntity@1
Node BackfillFromRtEntity@1 fills in missing attributes on a list of EntityUpdateInfo<RtEntity> items by reading their persistent counterparts from MongoDB. The target archive's column spec drives the schema — every column path that is not yet populated on an update item is loaded from the matching RtEntity (looked up by the item's own RtId).
Typical placement: immediately before SaveStreamDataInArchive@1 in event-sourced pipelines (e.g. Loxone state polling, MQTT topic streams) where each upstream event only carries one attribute. Without backfill, those rows hit any Required/NOT NULL columns on the per-archive CrateDB table and the insert fails.
Adapter Prerequisites
Node Configuration
For the path field, see Overview.
transformations:
- type: BackfillFromRtEntity@1
path: $._updateItems # JSONPath to the List<EntityUpdateInfo<RtEntity>>
archiveRtId: 65d5c447b420da3fb12381bc # Runtime id of the target CkArchive — its Columns drive the backfill
Behaviour
- For each update item: only attributes named by the archive's column spec and not yet set on the in-flight update are loaded from MongoDB. Already-populated values are never overwritten.
- Multiple update items pointing at the same
RtIdshare a single MongoDB lookup (per-call cache). - If the archive has no user columns (only the standard time-series columns), the node is a no-op pass-through.
- If the persistent entity does not exist, the update is left as-is and the pipeline continues.
- Throws
InvalidOperationExceptionwhenarchiveRtIdis missing or the archive cannot be resolved in the current tenant.