sql >> Databáze >  >> NoSQL >> MongoDB

Lze v dotazu MongoDB použít striktní JSON $dates?

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



  1. Jak zrušit úlohu ve frontě v Laravel nebo Redis

  2. Existuje nějaká možnost, jak omezit využití paměti mongodb?

  3. NodeJS a MongoDB FindAndModify() potřebují odstranit nebo aktualizovat

  4. Jaký je správný způsob indexování v MongoDB, když existuje velká kombinace polí