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?.