Právě teď si myslím, že to nejde udělat jednou operací. Bitové operátory (http://www.mongodb.org/display/DOCS/Updating#Updating-%24bit) ještě nemají '$xor', i když pro něj mám patch.
Právě teď si myslím, že řešením je vždy používat '$inc':
cl.update( { "_id": ...}, { '$inc' : { 'field' : 1 } } );
Potom můžete místo kontroly pravdivosti nebo nepravdy zkontrolovat, zda je položka „pravda“:
cl.find( { "_id": ..., 'field' : { '$mod' : [ 2, 1 ] } );
IE, pomocí operátoru modulo zjistíte, zda je sudý nebo nerovnoměrný, když je sudé "nenastaveno" a nerovnoměrné je "nastaveno". Pokud chcete mít opačné chování (tj. najít všechny položky, které nemají nastaven příznak), použijte
[ 2, 0 ];