O Drupal 7 possui um sistema de consultas muito promissor, semelhante ao ORM, com o EntityFieldQuery.
Atualmente, eu entendo como fazer a seleção de nós, mas o resultado não contém nenhuma informação específica, como os arquivados, que estou procurando.
$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();
Portanto, precisamos carregar dados inteiros de nós, se quisermos obter apenas valores de um campo, por exemplo 'data_campo' no exemplo atual.
$nodes = entity_load('node', array_keys($entities['node']));
Se houver uma maneira de obter o valor dos campos, em vez disso, carregar dados completos de todos os nós, pois isso provoca uma sobrecarga de memória.
$nodesFieldDates = ???