Nejsem si jistý, ale vše naznačuje, že není možné sestavit platný dotaz pomocí striktního JSON. I když můžete spustit dotaz kombinující $date s $gt , $gte , $lt , $lte zdá se, jako ve vašem případě, být vždy vyhodnocen jako false .
Když zkombinujete $date s $ne nebo $nin bude odpovídat každému dokumentu ve sbírce, takže si myslím, že potvrzuje předchozí pozorování.
Co je důležitější, když se pokusíte získat přesnou shodu, jako je tento db.foo.find({at: {"$date":"2010-01-01T00:00:00Z"}}) zobrazí se chyba neplatného operátora (10068).
Můj odhad je, když se pokusíte vytvořit dokument v prostředí Mongo pomocí $date
doc = {at: {"$date":"2010-01-01T00:00:00Z"}}
není vyhodnoceno jako datum a neexistuje způsob, jak vložit dokument jako tento do kolekce. Jak vidíte, zdá se, že striktní JSON je správně analyzován pouze nástroji jako mongoimport .Tady je podobná otázka:Existuje způsob, jak spustit shell MongoDB (nebo metodu tojson) v přísném režimu JSON?.