sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB - MySQL SUM (CASO CUANDO) ¿Equivalente?

Estoy de acuerdo con Rudu aquí, ya que deberías intentar dividir los detalles en claves de un documento mongo.

El documento podría contener un objeto como este:

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

Si no reestructura los datos, la consulta requerirá expresiones regulares no rooteadas que no pueden usar las funciones de indexación de MongoDB.

Sin embargo, independientemente de si decide hacer eso o no, querrá usar map reduce para esto. Puede emitir elementos que incluyan los detalles durante el mapa (ya sea procesándolos con expresiones regulares o simplemente emitiendo las claves en forma reestructurada) y sumarlos en la fase de reducción.

Puede leer más sobre esto en los docs