2013-08-01 3 views
2

Pour certains champs, j'ai téléchargé. Je veux m'assurer qu'ils n'ont pas été corrompus (pas par mongo, mais par mon générateur de données).Négatif Look In MongoDB Query

Le champ d'intérêt prendrait cette regex:

donor_\d{1,2}_\d+ 

par exemple:

donor_17_82635294 

Il ne fait pas exception à cette règle, donc je me demandais si je pouvais utiliser regard négatif autour de regex pour trouver les champs qui ne respectent pas cette règle. Le problème avec des exemples négatifs sur SO est qu'il semble que vous deviez savoir ce que vous cherchez, ce que je ne fais pas. Je veux quelque chose comme ça.

db.collection.find({field:*not*/donor_\d{1,2}_\d+/i}) 

Mon autre option est juste pour créer une nouvelle collection avec tout ce qui correspond à mon regex, mais ce serait beaucoup plus facile.

Merci J

Répondre

3

Oui, vous pouvez faire la négation de l'expression régulière comme ceci:

db.collection.find({field: { $not: /donor_\d{1,2}_\d+/i } }) 
+0

merci, je ne savais pas cet opérateur – jwillis0720