Mongodb aggregate $match, $and, $or in PHP

MongoDB! Sinds ik er mee begonnen ben, ben ik er niet meer mee te stoppen.

Okay… je kan je afvragen of het ten alle tijden MySQL zal vervangen, maar iknben in korte tijd echt Fan geworden van Mongodb.

Maar de overstap van MySQL Queries naar Aggregate functions is wel evennwennen.n< !–more –>nVoor één van mijn sites nopnop.nl ben nogal aan hetnstuntelen geweest met de queries (wat aggregation heet). En er is ook nog nietnheel veel over te vinden, dus dacht ik laat ik het eens delen met mijnnmedemens.

MongoDB

MongoDB is een opensource document-georiënteerde database en is geschreven innC++. Er is geen schema, de documenten worden in de vorm van BSON (binair JSON)nopgeslagen en de structuur van deze documenten is flexibel. De database kanngemakkelijk gedistribueerd worden, de data wordt dan over meerdere computersnverspreid om gedistribueerde gegevensverwerking mogelijk te maken. MongoDB isngeen relationeel databasemanagementsysteem, er is geen ondersteuning voornjoins en voldoet ook niet aan de ACID-regels want de ondersteuning voorntransacties is beperkt. MongoDB wordt gerekend tot de zogenaamde NoSQL-ndatabases.

Wikipedia

Aggregation

Om met php en MongoDB goede queries te bouwen kan je het beste met Aggregationnde querie bouwen.

Je bouwt dan doormiddel van array’s je query op en zo kan je diverse zaken metnelkaar koppelen.

Zo kan je $match, $and, $or, $sort en $group met elkaar op wat voor manier metnelkaar gebruiken.

In de hoofdstukken hier onder laat ik je zien hoe je per onderdeel apart enngecombineerd de functions kan gebruiken.

$match

Met $match kan je binnen je mongodb een (aggregate) selectie maken opn‘veld’-niveau

$match en $and

Maak een (aggregate) selectie op twee verschillende velden via $and

$match en $or

De één of de ander via een (aggregate) selectie op twee verschillende veldennvia $or

$match en $or en $and

Een (aggregate) selectie op 3 velden met $and en $or, dus een combinatie vanntwee velden of een ander veld.

$match en $in

Maak een (aggregate) selectie op één veld met meerdere waarden. Dit doe jendoor gebruik van $in en een array met waarden

Vergelijkingen maken met $gt $gte $lt $lte $ne

Er zijn via de aggregation (selectie) diverse manieren om vergelijkingen tenmaken. Je had al de $IN manier om te vergelijken met een array met waarden.nMaar je hebt ook de volgende nog.

  • $gt — groter
  • $gte — groter of gelijk
  • $lt — kleiner
  • $lte — kleiner of gelijk
  • $ne — ongelijk aan

Hieronder een voorbeeld van een vergelijking met $gte

En hier nog een vergelijking met $gte en $lte om een between de doen bij eenndatum

Nou… ik zou zeggen voldoende voorbeelden moet je voorlopig wel weer even opwegnhelpen.. toch?

Mocht je nog vragen hebben aarzel niet om contact met mij op te nemen!

En kijk nog even op mijn site nopnop.nl voor de bestendeals!

Did you find this article valuable?

Support Theo van der Sluijs Blog by becoming a sponsor. Any amount is appreciated!