Quelle est la meilleure façon de valider les données de mongo?
Quelle est la meilleure façon de valider les données insérées ou mises à jour dans MongoDB? Est-il pour écrire une sorte de serveur exécuté code Javascript qui effectue la validation?
Mongo 3.2 la validation.
OriginalL'auteur Simon Wentley | 2010-02-13
Vous devez vous connecter pour publier un commentaire.
À partir de MongoDB 3.2 ils ont ajouté la validation des documents (les diapositives).
Vous pouvez spécifier des règles de validation pour chaque collection, à l'aide de validateur option à l'aide de presque tous les mongo opérateurs de requête (à l'exception de
$geoNear
,$near
,$nearSphere
,$text
, et$where
).Pour créer une nouvelle collection avec un programme de validation, utilisation:
Pour ajouter un programme de validation de la collection existante, vous pouvez ajouter le validateur:
Validation de ne travailler que sur insérer/mettre à jour, de sorte que lorsque vous créez un programme de validation de votre ancienne collection, les données précédentes ne sera pas validé (vous pouvez écrire le niveau d'application de la validation d'une données précédentes). Vous pouvez également spécifier validationLevel et validationAction à dire ce qui va arriver si le document ne passe pas la validation.
Si vous essayez d'insérer/mettre à jour le document avec quelque chose qui échoue à la validation, (et n'ont pas précisé de quelle étrange validationLevel/action), alors vous obtiendrez un message d'erreur sur
writeResult
(malheureusement, l'erreur ne peut pas vous dire ce qui a échoué et vous obtenez seulement par défautvalidation failed
):OriginalL'auteur Salvador Dali
MongoDB n'ont pas de contraintes ou de déclencheurs pour l'application a pour valider les données.
Vous pouvez également écrire des scripts Javascript que vérifier une fois par jour ou plus si il y a des données non valides. Vous pouvez l'utiliser pour vérifier la qualité de la logique métier de votre application.
OriginalL'auteur Theo
Je pense qu'il serait normal de votre application pour gérer ce genre de chose. Si les données n'est pas valide d'une certaine façon, ne le laissez pas ajoutés à la banque de données jusqu'à ce que l'utilisateur a corrigé quelque erreur que vous avez détecté.
OriginalL'auteur Mark Embling
De départ en 2.4, MongoDB permet base BFILS objet d'une validation pour mongod et mongorestore lors de l'écriture de fichiers de données MongoDB. Cela empêche le client d'insertion incorrecte ou mal formé BFILS dans une base de données MongoDB.
source: http://docs.mongodb.org/manual/release-notes/2.4/
OriginalL'auteur Max Hodges
J'ai commencé à utiliser MongoDB et PHP, à l'intérieur d'un Zend Framework en fonction de l'application.
J'ai créé 1 objet pour chaque collection MongoDB (par ex. User.php les cartes de la collection pour l'utilisateur). Chaque objet sait ce recueil, il cartes de, et quels sont les champs requis. Il sait aussi quels sont les filtres (Zend_Filter_Input) et les validateurs (Zend_Validate) doit être appliquée à chaque champ. Avant de faire un MongoDB insert() ou enregistrer(), j'exécute $objet->isValid () qui exécute tous les validateurs. Si elles passent toutes isValid() renvoie true, et je procéder pour exécuter l'insert() ou enregistrer(), sinon j'affiche les erreurs.
OriginalL'auteur lo_fye