WebOntwikkeling 2024
DigitAP
  • Introductie
  • Tooling
    • Devcontainers
    • Git
    • Terminal en bash
  • NodeJS + TypeScript
    • Wat is NodeJS?
    • Waarom TypeScript?
    • Nieuw project
    • Input lezen
    • Type Systeem
      • Basic types
      • Arrays
      • Interfaces
      • Functions
    • Exceptions
    • Modules
    • Asynchroon Programmeren
      • Promises
      • Async/Await
      • Fetch
      • Extra voorbeelden
  • Express.js
    • Wat is een backend framework?
    • Basis
    • Nodemon
    • Statische Bestanden
    • EJS
    • Request
      • GET Request
      • POST Request
      • Multi-part form data
    • Response
    • Router
    • Middleware
    • Deployment
  • MongoDB
    • Wat is MongoDB?
    • MongoDB driver
    • Insert
    • Find
    • Limit & Sort
    • Query Operators
    • Update
    • Delete
    • Text Search
    • Gebruik in Express.js
      • CRUD
  • Security & Testing
    • Environment Variables
    • Cookies
    • Hashing & Encryptie
    • Sessions
      • Session Based Login
    • JWT Tokens
      • JWT NPM package
      • Tokens veilig opslaan
      • Token Based Login
    • Testing
  • Labos
    • 1. Tooling
    • 2. Basis
      • Hello Name
      • BMI Calculator
      • BMI Calculator Multi
      • Interest Calculator
      • Uren en Minuten
      • Wisselgeld
      • Name from Email
      • Text Box
    • 3. Arrays
      • Som van getallen
      • Puntenboek
      • Rot13
      • Pokemon Team
      • Todo List String
      • Tick Tac Toe
    • 4. Interfaces & functies
      • Interfaces
        • Recepten
        • Movies Objects
        • Todo List Objects
      • Functies
        • Math Fun
        • Short Notation
        • Array Sum
        • Movies Functions
        • Filter Numbers
        • At Least Two
    • 5. Async & fetch
      • Fake Fetch
      • Promise All
      • Slow Sum
      • Todo List Fetch
      • Cocktails Promise All
      • Bitcoin API
      • Joke API
      • School API
      • Cocktails API
      • Unix Timestamp API
    • 6. Modules en NPM Packages
      • Math Module
      • Export Interfaces
      • Cowsay Module
      • Cat GPT
      • Rainbow Chalk
    • 7. Express
      • Hello Express
      • DadJoke Express
      • Bitcoin current
    • 8. EJS + Static
      • Hello Express EJS
      • Cat Static
      • Maaltafels
      • Newspaper
    • 9. Get Request
      • Hello Query
      • Math Service
      • Newspaper Route
      • Newspaper Search
      • Steam
    • 10. Post Request
      • Pet Shelter
      • Redirect Form
      • Contact Form
    • 11. Router en Middleware
      • Router Combi
      • Utility Middleware
      • Rate Limiter
    • 12. Herhaling
      • Twitter
      • Word Guess
    • 13. Mongo Basics
      • Guestbook
      • MoviesDB
      • Pokemon Team
    • 14. Mongo Queries
      • Pet Shelter
      • Games DB
    • 15. Mongo + Express
      • Pet Shelter Express
      • Guestbook Express
      • Pokemon Team Express
    • 16. CRUD
      • Users CRUD
      • Pokedex
    • 17. Session & Cookies
      • Shopping Cookie
      • View Counter Cookies
      • View Counter Sessions
    • 18. Session based login
      • Login Express
      • Pokedex Express Sessions
    • 19. Token based login
      • JWT Sign
      • Login Express JWT
    • 20. Testing
      • Math Test
      • String Test
      • Math Express Test
      • Form Express Test
      • Pet Shelter Express Test
    • 21. Herhaling
      • Youtube Favorites
      • Beerster
    • Extra oefeningen
      • DNA Match
      • View Counter
      • Hogwarts Express CRUD
  • Project
    • Voorbereiding (devcontainer + github)
    • Semester 2
      • Milestone 1 - Terminal App
      • Milestone 2 - Express
      • Milestone 3 - MongoDB
      • Milestone 4 - Security
Powered by GitBook
On this page
  • Vergelijkingen
  • Logische operatoren
Export as PDF
  1. MongoDB

Query Operators

We hebben tot nu toe gezien dat je een object kan meegeven aan de find methode om te filteren. Dit object bevat de velden die je wil filteren en de waarden waarmee je wil filteren. Op dit moment gaven we enkel exacte waarden mee.

const result = await collection.find({ name: "John" }).toArray();

In MongoDB kan je ook gebruik maken van query operators. Dit zijn speciale objecten die je kan meegeven aan de find methode om complexere queries uit te voeren.

Vergelijkingen

We kunnen gebruik maken van de volgende query operators om vergelijkingen uit te voeren:

Operator
Betekenis

$eq

Is gelijk aan

$ne

Is niet gelijk aan

$gt

Is groter dan

$gte

Is groter dan of gelijk aan

$lt

Is kleiner dan

$lte

Is kleiner dan of gelijk aan

$in

Is in een array

$nin

Is niet in een array

Het gebruik ervan ziet er soms een beetje vreemd uit, maar het is eigenlijk heel eenvoudig. Je moet een object meegeven met als key de naam van het veld en als value een object met als key de operator en als value de waarde waarmee je wil vergelijken.

const result = await collection.find({ age: { $gt: 18 } }).toArray();

Dit geeft alle documenten terug waarvan het veld age groter is dan 18.

const result = await collection.find({ age: { $in: [18, 19, 20] } }).toArray();

Dit geeft alle documenten terug waarvan het veld age gelijk is aan 18, 19 of 20.

Logische operatoren

Je kan ook gebruik maken van logische operatoren om meerdere voorwaarden te combineren. De volgende logische operatoren zijn beschikbaar:

Operator
Betekenis

$and

Logische AND

$or

Logische OR

$not

Logische NOT

Het gebruik ervan is gelijkaardig aan de vergelijkingsoperatoren. Je moet een object meegeven met als key de operator en als value een array van objecten die je wil combineren.

const result = await collection.find({ $or: [{ age: { $gt: 18 } }, { name: "John" }] }).toArray();

Dit geeft alle documenten terug waarvan het veld age groter is dan 18 of waarvan het veld name gelijk is aan "John".

const result = await collection.find({ $and: [{ age: { $gt: 18 } }, { age: { $lt: 25 } }] }).toArray();

Dit geeft alle documenten terug waarvan het veld age groter is dan 18 en kleiner dan 25. Dus alle documenten waarvan het veld age tussen 18 en 25 ligt.

const result = await collection.find({ age: { $not: { $gt: 18 } } }).toArray();

Dit geeft alle documenten terug waarvan het veld age niet groter is dan 18. Dus alle documenten waarvan het veld age kleiner of gelijk is aan 18.

PreviousLimit & SortNextUpdate

Last updated 21 days ago