> The labels GT, GTE, LT, LTE, NE can be helpful for stream-oriented construction
> of a BSONObj, particularly when assembling a Query. For example,
> BSON( "a" << GT << 23.4 << NE << 30 << "b" << 2 )
I need NULL support in BSON and QUERY macro, so it call appendNull("field") for
construction BSON("field" << NULL). Stream oriented queries much easy readable and
requires the same CPU time to construction as direct BSONObjBuilder::append() calls.