ne mongodb ont les propriétés telles que le déclenchement et la procédure dans une base de données relationnelle?
comme le suggère le titre, inclure la carte-réduire cadre
si je veux déclencher un événement pour exécuter un contrôle de cohérence ou d'opérations de sécurité avant qu'un enregistrement est inséré, comment puis-je faire avec MongoDB?
J'ai essayé de répondre à ce que je pense est à votre question. Si vous avez besoin de plus d'info, merci d'éditer votre question.
OriginalL'auteur user3236929 | 2014-03-25
Vous devez vous connecter pour publier un commentaire.
MongoDB ne prend pas en charge les déclencheurs, mais les gens ont créé des solutions autour d'eux, principalement à l'aide de la oplog, cela va seulement vous aider si vous êtes en cours d'exécution avec les jeux de réplicas, comme le oplog est plafonné collection qui effectue le suivi des modifications de données aux fins de réplication.
Pour un nodejs solution voir: https://www.npmjs.org/package/mongo-watch ou voir un précédent fil: Comment écouter pour un changement de collection MongoDB?
Si vous êtes soucieux de la cohérence, lire écrire préoccupation dans mongoDB. http://docs.mongodb.org/manual/core/write-concern/ Vous pouvez vous détendre ou strict que vous le souhaitez en insert de réglage écrire des niveaux préoccupants, du feu et de l'espoir d'obtenir un accusé de réception de tous les membres du jeu de réplicas.
Donc, si vous voulez exécuter une vérification de cohérence avant l'insertion des données, vous aurez probablement à déplacer que la logique de l'application client et de définir votre écriture préoccupation niveau à un niveau permettant d'assurer la cohérence.
OriginalL'auteur John Powell
MongoDb n'a pas de déclencheurs ou des procédures stockées. Bien qu'il existe des solutions que certains ont utilisé pour tenter d'imiter le comportement, car il n'est pas une fonctionnalité intégrée, vous aurez besoin de décider si les solutions sont efficaces pour vous. La recherche pour "déclencheurs et mongodb" devrait en trouver des dizaines. Tout dépendra de la oplog et des répliques.
Mais, compte tenu de la nature de MongoDb et un type 3 de niveau de l'architecture, je m'attends à ce que le point d'insertion de données, qui pourrait être sur un serveur web par exemple, vous pouvez exécuter sur le serveur web, la nécessaire cohérence et le contrôle de sécurité. Vous ne permettrait pas un client comme une application mobile pour définir directement les données dans la base de données de la collection sans quelques vérifications.
De nombreux pilotes pour MongoDb et étendu les bibliothèques ont de validation et de contrôles de cohérence construit en déjà, donc il y a moins de le faire. À l'aide des index uniques pour certains champs peuvent également fournir un niveau de consistance que vous ne pouvez pas le faire à partir du pilote seul. Regarder des appels comme
findAndModify
qui font les mises à jour atomiques.OriginalL'auteur WiredPrairie