sql >> Database >  >> NoSQL >> MongoDB

MongoDB - MySQL SUM (CASE WHEN) Equivalent?

Ik ben het hier met Rudu eens, aangezien je zou moeten proberen de details in sleutels van een mongo-document te splitsen.

Het document kan een object als dit bevatten:

details:
{
  viewed: true
  thumb_view: true
  web_viewed: false
  exported: true
  ...
}

Als u de gegevens niet herstructureert, vereist de query niet-geroote reguliere expressies die de indexeringsfuncties van MongoDB niet kunnen gebruiken.

Ongeacht of u besluit dat wel of niet te doen, u zult hiervoor kaartreductie willen gebruiken. Je zou items kunnen uitsturen die de details bevatten tijdens de kaart (ofwel door ze te verwerken met reguliere expressies of door simpelweg de sleutels in geherstructureerde vorm uit te zenden) en deze op te tellen in de reductiefase.

U kunt er meer over lezen in de docs



  1. MongoDB $weeklyUpdate #65 (15 april 2022):GDELT, Mongoose en Hackathon Time!

  2. MongoDB:Is het mogelijk om een ​​hoofdletterongevoelige query te maken?

  3. Waarom vertelt express me dat mijn standaardweergave-engine niet is gedefinieerd?

  4. APScheduler voert async-functie uit in Tornado Python