sql >> Databasteknik >  >> NoSQL >> MongoDB

Kan strikta JSON $datum användas i en MongoDB-fråga?

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



  1. Custom Cascading in Spring Data MongoDB

  2. Återställ från avbruten anslutning i redis pub/sub

  3. MongoDB Chain Replication Basics

  4. flera mongo-uppdateringsoperatör i ett enda uttalande?