FAQ MongoDBConsultez toutes les FAQ
Nombre d'auteurs : 1, nombre de questions : 331, dernière mise à jour : 18 décembre 2016 Ajouter une question
Cette FAQ a été réalisée à partir de la documentation officielle de Mongodb, des questions fréquemment posées sur les forums NoSQL Developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.
Des opérateurs de requête différents traitent différemment les valeurs null.
Considérez le test des collections avec les documents suivants :
Code javascript : | Sélectionner tout |
1 2 | { _id: 1, cancelDate: null } { _id: 2 } |
La requête { cancelDate: null } correspond aux documents qui contiennent le champ cancelDate dont la valeur est nullou ne contiennent pas le champ cancelDate. Si l'indice recherché est composé, cependant, la requête correspondra uniquement aux valeurs null et pas aux champs manquants.
Modifié dans la version 2.6 : si vous utilisez l'indice composé dans un résultat incomplet, MongoDB n'utilisera pas l'index, sauf si un hint() spécifie explicitement l'indice. Voir Indices composés pour plus d'informations.
Compte tenu de la requête suivante :
Code javascript : | Sélectionner tout |
db.test.find( { cancelDate: null } )
Code javascript : | Sélectionner tout |
1 2 | { "_id" : 1, "cancelDate" : null } { "_id" : 2 } |
La requête { cancelDate: { $type: 10 } } correspond uniquement aux documents qui contiennent le champ cancelDate dont la valeur est null ; par exemple, la valeur de cancelDate est de Type BSON Null (par exemple 10) :
Code javascript : | Sélectionner tout |
db.test.find( { cancelDate : { $type: 10 } } )
Code javascript : | Sélectionner tout |
{ "_id" : 1, "cancelDate" : null }
La requête { cancelDate: { $exists: false } } correspond aux documents qui ne contiennent pas le champ cancelDate :
Code javascript : | Sélectionner tout |
db.test.find( { cancelDate : { $exists: false } } )
Code javascript : | Sélectionner tout |
{ "_id" : 2 }
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.