Details
-
Bug
-
Resolution: Works as Designed
-
Major - P3
-
None
-
None
-
None
-
None
-
Java 1.8, Driver 3.12.5, MongoDB 3.6.14.
Description
When using Updates.combine() on an existing Bson update object it seems to nest the updates in the driver. Is there a better way to combine (tack-on) additional update commands to an existing update Bson object?
Example Code:
|
@Test
|
public void testNestingOfUpdates()
|
{
|
Bson update = Updates.set("field1", "somedata1");
|
update = Updates.combine(update, Updates.set("field2", "somedata2"));
|
update = Updates.combine(update, Updates.set("field3", "somedata3"));
|
update = Updates.combine(update, Updates.set("field4", "somedata4"));
|
update = Updates.combine(update, Updates.set("field5", "somedata5"));
|
update = Updates.combine(update, Updates.set("field6", "somedata6"));
|
update = Updates.combine(update, Updates.set("field7", "somedata7"));
|
update = Updates.combine(update, Updates.set("field8", "somedata8"));
|
update = Updates.combine(update, Updates.set("field9", "somedata9"));
|
String x = update.toString();
|
System.out.println(x);
|
}
|
|
Example output:
|
|
Updates{updates=[Updates{updates=[Updates{updates=[Updates{updates=[Updates{updates=[Updates{updates=[Updates{updates=[Updates{updates=[Update{fieldName='field1', operator='$set', value=somedata1}, Update{fieldName='field2', operator='$set', value=somedata2}]}, Update{fieldName='field3', operator='$set', value=somedata3}]}, Update{fieldName='field4', operator='$set', value=somedata4}]}, Update{fieldName='field5', operator='$set', value=somedata5}]}, Update{fieldName='field6', operator='$set', value=somedata6}]}, Update{fieldName='field7', operator='$set', value=somedata7}]}, Update{fieldName='field8', operator='$set', value=somedata8}]}, Update{fieldName='field9', operator='$set', value=somedata9}]}
|