Comment faire correspondre par 'undefined' valeur dans MongoDB Agrégation Cadre?
Comment puis-je rechercher pour le filtrage des enregistrements dans un champ qui a une undefined
valeur:
db.records.aggregate({
$match: {
myField: "undefined",
}
})
Comment définissez-vous pas défini ? Tu veux dire quelque chose comme
$exists
? Si possible, ajoutez un exemple de document et une requête qui serait de retour. En regardant votre question, 'undefined'
est une chaîne de caractères, tout comme 'Hello, World!'
.OriginalL'auteur BreakPhreak | 2013-06-13
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez filtrer les documents qui ont certains champs manquants, utilisez la
$exists
de l'opérateur.Cela fonctionne sur ma machine :
Le document qui a myField présent ne s'affiche pas dans les résultats.
null
valeurs (il y a aussi un obsolèteundefined
type). Cette FAQ, explique l'interrogation pour les valeurs null et/ou de champs manquants (les mêmes opérateurs sont disponibles pour l'agrégation cadre) . Par exemple :db.test.aggregate({'$match':{ 'myField':{'$type':10} }})
correspondent à des documents qui ont unemyField
défini, mais que sa valeur estnull
.OriginalL'auteur ixe013
Filtrer par
$type:6
, (mongodb referece, noter que ce type marqués comme 'obsolète'):undefined
il vous dit que vous ne pouvez pas.OriginalL'auteur user854301