Я не уверен, что понимаю вопрос, но я думаю, что вы идете примерно так:
Сделайте свой выбор и свяжите данные.
let update = d3.selectAll(".object").data(objects);
Удалите старые элементы (при необходимости).
update.exit().remove();
Создайте выделение enter
и добавьте дочерний элемент для каждого поля.
let enter = update.enter()
.append("g").attr("class", "object");
enter.append("g").attr("class", "field1");
enter.append("g").attr("class", "field2");
Объедините выделенное enter
обратно в update
, затем заполните поля.
update = update.merge(enter);
update.select(".field1").text(d => d.field1);
update.select(".field2").text(d => d.field2);