Brug en af de understøttede drivere. Undlad at deserialisere strenge som JSON og videregive dem som forespørgsler, f.eks. gør ikke dette (i Ruby):
collection.send(query_type, JSON.parse(parameters))
hvor query_type
og parameters
er strenge, der kommer fra en form. Du skulle dog være kriminelt dum for at gøre dette.
Da der ikke er noget forespørgselssprog som sådan, er der ikke den samme plads til injektion. En del af grunden til, at SQL-injektionsangreb er mulige, er, at den handling, der skal udføres (SELECT
, UPDATE
, DELETE
osv.) er en del af forespørgselsstrengen. MongoDB og mange andre nyere databaser fungerer ikke sådan, i stedet er handlingen en del af API'et. Hvor SQL-drivere kun har query
og i nogle tilfælde exec
, MongoDB har find
, update
, insert
og remove
.