Jag är inte säker men allt tyder på att det är omöjligt att skapa en giltig fråga med strikt JSON. Även om du kan köra en fråga som kombinerar $date
med $gt
, $gte
, $lt
, $lte
det verkar, som i ditt fall, alltid utvärderas som false
.
När du kombinerar $date
med $ne
eller $nin
det kommer att matcha alla dokument i samlingen så jag tror att det bekräftar tidigare observationer.
Vad är viktigare när du försöker få exakt matchning som denna db.foo.find({at: {"$date":"2010-01-01T00:00:00Z"}})
du får ett ogiltigt operatörsfel (10068).
Min gissning är när du försöker skapa dokument i Mongo-skal med $date
doc = {at: {"$date":"2010-01-01T00:00:00Z"}}
det utvärderas inte som datum och det finns inget sätt att infoga dokument som detta i samlingen. Som du ser verkar det som att strikt JSON tolkas korrekt endast av verktyg som mongoimport
.Det finns en liknande fråga här:Finns det ett sätt att köra MongoDB-skal (eller tojson-metoden) i strikt JSON-läge?.