MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Les $dates JSON strictes peuvent-elles être utilisées dans une requête MongoDB ?

Je ne suis pas sûr mais tout suggère qu'il est impossible de construire une requête valide en utilisant JSON strict. Bien que vous puissiez exécuter une requête combinant $date avec $gt , $gte , $lt , $lte il semble, comme dans votre cas, être toujours évalué comme false .

Lorsque vous combinez $date avec $ne ou $nin il correspondra à tous les documents de la collection, donc je pense que cela confirme l'observation précédente.

Qu'est-ce qui est le plus important lorsque vous essayez d'obtenir une correspondance exacte comme celle-ci db.foo.find({at :{"$date":"2010-01-01T00:00:00Z"}}) vous obtiendrez une erreur d'opérateur non valide (10068).

Je suppose que lorsque vous essayez de créer un document dans le shell Mongo en utilisant $date

doc = {at: {"$date":"2010-01-01T00:00:00Z"}}

il n'est pas évalué en tant que date et il n'y a aucun moyen d'insérer un document comme celui-ci dans la collection. .Il y a une question similaire ici :Existe-t-il un moyen d'exécuter le shell MongoDB (ou la méthode tojson) en mode JSON strict ?.