Drupal 7 tiene un sistema de consultas ORM muy prometedor con EntityFieldQuery.
Actualmente, entiendo cómo hacer una selección de nodos, pero el resultado no contiene ninguna información específica, como fileds, que estoy buscando.
$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'event')
->propertyCondition('status', 1)
->fieldCondition('field_date', 'value', array('2011-03-01', '2011-03-31'), 'BETWEEN')
->fieldOrderBy('field_date', 'value', 'ASC')
->execute();
Por lo tanto, necesitamos cargar datos completos de nodos, si queremos obtener solo valores de un campo, por ejemplo 'field_date' en el ejemplo actual.
$nodes = entity_load('node', array_keys($entities['node']));
Si hay una manera de obtener el valor de los campos, en lugar de cargar datos completos de todos los nodos, ya que provoca una sobrecarga de memoria.
$nodesFieldDates = ???