MongoDB nemá skutečný smysl pro uložené procedury. Má funkce na straně serveru, ale tyto funkce:
- Nepracujte se sharováním
- Jsou pomalé
- Musí být poražen (Dr. Evil)
- Jsou skutečně navrženy pouze pro použití v rámci Map Reduces, abyste nemuseli ukládat více kopií společného kódu na mnoha místech.
Můžete toho však dosáhnout pomocí $where
nebo eval
zadání skutečného názvu funkce v rámci system.js
. Ale pak tyto ve skutečnosti neběží "na straně serveru".
Pomocí exec
zadejte do aplikace příkaz pro volání shellu také nebude dobrý nápad. Soubory skriptů, které spouštíte v prostředí Shell, jsou na straně klienta stejně jako vaše vlastní aplikace, takže je to zbytečné.
MongoDB také nepovoluje spouštěče, i když jsou v rámci JIRA:https://jira.mongodb. org/browse/SERVER-124 ale nejsou naplánovány. V rámci svého kódování budete muset umístit spouštěče na stranu klienta.
NoSQL není relační. Možná si budete chtít přečíst o tom, jak navrhnout správné schéma pro MongoDB, zde je výchozí bod:http://www.mongodb.org/display/DOCS/Schema+Design . To vás naučí podstatu MongoDB a jak vybrat správnou strukturu.