-
Type:
Bug
-
Resolution: Works as Designed
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Environment:Java 1.8, Driver 3.12.5, MongoDB 3.6.14.
-
None
-
None
-
None
-
None
-
None
-
None
-
None
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}]}