In tegenstelling tot relationele databases zoals MySQL en PostgreSQL, ondersteunt MongoDB eigenlijk geen opgeslagen procedures in de traditionele zin. In plaats daarvan moeten berekeningen en complexere operaties vaak worden uitgevoerd in de applicatielaag met behulp van de MongoDB-drivers.
Echter, MongoDB heeft iets dat “database commands” of “JavaScript-functies” genoemd wordt, wat het dichtst in de buurt komt van opgeslagen procedures. Dit zijn JavaScript-functies die je kunt opslaan en uitvoeren op de server. Maar het gebruik ervan wordt niet breed aanbevolen omdat het uitvoeren van JavaScript op MongoDB niet ideaal is voor alle soorten werklasten en has performance implications.
Hier is een voorbeeld van hoe je dit zou kunnen doen:
1. Open een mongo shell sessie met uw database.
2. Maak een JavaScript-functie. Bijvoorbeeld:
```
var myProcedure = function(x) {
return x * x;
};
```
1. Gebruik “db.system.js.save” om uw functie in MongoDB te bewaren:
```
db.system.js.save(
{
_id: “myProcedure”,
value : myProcedure
}
);
```
1. U kunt nu “db.eval()” gebruiken om uw opgeslagen procedure te bellen:
```
db.eval(“myProcedure(5)”);
```
Het is belangrijk om te weten dat “db.eval()” en het opslaan en uitvoeren van JavaScript in de database beperkingen en nadelen heeft, zoals concurrency issues en potentieel trage uitvoering. Over het algemeen is het veel beter om de business logica en gegevensverwerking aan de applicatie kant uit te voeren en MongoDB alleen te gebruiken voor gegevensopslag en eenvoudige query’s.