MongoDB heeft geen echt gevoel voor opgeslagen procedures. Het heeft functies aan de serverzijde, maar deze functies:
- Werk niet met sharding
- Zijn traag
- Moet worden geëvacueerd (Dr. Evil)
- Zijn alleen echt ontworpen om te worden gebruikt in Map Reduces om te voorkomen dat u op veel plaatsen meerdere kopieën van gemeenschappelijke code moet plaatsen.
U kunt het echter bereiken met $where
of eval
een werkelijke functienaam binnen system.js
. Maar dan draaien deze eigenlijk niet "server-side".
Een exec
gebruiken typ commando in je app om de shell aan te roepen, is ook geen goed idee. De scriptbestanden die u in shell uitvoert, zijn net zo veel client-side als uw eigen app, dus dat is gewoon zinloos.
MongoDB staat ook geen triggers toe, maar ze vallen binnen de JIRA:https://jira.mongodb. org/browse/SERVER-124 maar zijn niet gepland. U moet triggers aan de clientzijde in uw codering plaatsen.
NoSQL is niet relationeel. Misschien wil je meer lezen over het ontwerpen van een goed schema voor MongoDB, hier is een startpunt:http://www.mongodb.org/display/DOCS/Schema+Design . Dit leert je de essentie van MongoDB en hoe je de juiste structuur kiest.