今のところ、1回の操作でこれを行うことはできないと思います。ビット単位の演算子(http://www.mongodb.org/display/DOCS/Updating#Updating-%24bit)には、パッチがありますが、まだ「$xor」がありません。
今のところ、私が考える回避策は、常に「$ inc」を使用することです:
cl.update( { "_id": ...}, { '$inc' : { 'field' : 1 } } );
次に、trueまたはfalseをチェックする代わりに、アイテムが「true」であるかどうかをチェックできます。
cl.find( { "_id": ..., 'field' : { '$mod' : [ 2, 1 ] } );
IEでは、モジュロ演算子を使用して、「設定されていない」場合でも不均一である場合と「設定されている」場合でも不均一であるかどうかを確認します。反対の動作をしたい場合(つまり、フラグが設定されていないすべてのアイテムを検索する場合)、
を使用します。[ 2, 0 ];