MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

As datas de $ JSON estritas podem ser usadas em uma consulta do MongoDB?


Não tenho certeza, mas tudo sugere que é impossível criar uma consulta válida usando JSON estrito. Embora você possa executar uma consulta combinando $date com $gt , $gte , $lt , $lte parece, como no seu caso, ser sempre avaliado como false .

Quando você combina $date com $ne ou $nin ele corresponderá a todos os documentos da coleção, então acho que confirma a observação anterior.

O que é mais importante quando você tenta obter uma correspondência exata como esta db.foo.find({at: {"$date":"2010-01-01T00:00:00Z"}}) você receberá um erro de operador inválido (10068).

Meu palpite é quando tentar criar um documento no shell do Mongo usando $date
doc = {at: {"$date":"2010-01-01T00:00:00Z"}}

ele não é avaliado como data e não há como inserir um documento como este na coleção. Como você vê, parece que o JSON estrito é analisado corretamente apenas por ferramentas como mongoimport .Há uma pergunta semelhante aqui:Existe uma maneira de executar o shell MongoDB (ou método tojson) no modo JSON estrito?.