Per Sammaye, det verkar inte som att det finns ett "riktigt" sätt att göra detta. Min lösning var att skapa en sekvens som beskrivs på mongowebbplatsen och lägg helt enkelt till ett "seq"-fält till varje post i min samling. Nu har jag ett unikt fält som är tillförlitligt sorterbart att uppdatera på.
Tillförlitligt sorterbart är viktigt här. Jag tänkte bara sortera på det autogenererade _id men jag insåg snabbt att naturlig ordning INTE är detsamma som stigande ordning för ObjectId:s (från denna sida det ser ut som att strängvärdet har företräde framför objektvärdet som matchar beteendet jag observerade vid testning). Det är också fullt möjligt för en post att flyttas till disk, vilket gör den naturliga ordningen opålitlig för sortering.
Så nu kan jag fråga efter posten med den minsta "seq" som INTE redan har uppdaterats för att få en inkluderande startpunkt. Därefter frågar jag efter poster med 'seq' större än min utgångspunkt och hoppar över (det är viktigt att hoppa över eftersom 'seq' kan vara sparsamt om du tar bort dokument, etc...) antalet poster jag vill uppdatera. Sätt en gräns på 1 på den frågan och du har en icke-inkluderande slutpunkt. Nu kan jag utfärda en uppdatering med en fråga om 'updated' =0, 'seq'>=min startpunkt och
Här är stegen igen:
Ganska smärtsamt men det får jobbet gjort.