Lõi Drupal cung cấp một lớp gọi là EntityFieldQuery(). Ngoài ra còn có một trang tài liệu tiện dụng để sử dụng nó, có rất nhiều ví dụ. Ở dạng đơn giản nhất:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', 'page')
  ->propertyCondition('status', 1);
$result = $query->execute();
if (!empty($result['node'])) {
  $nids = array_keys($result['node']);
  $nodes = node_load_multiple($nids);
  foreach ($nodes as $node) {
    // do something awesome
  }
}
Điều này sẽ tải tất cả các nút được xuất bản của loại "trang". Bạn định kỳ cần điều chỉnh điều này để
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
  ->entityCondition('bundle', 'page')
  ->propertyCondition('status', 1);
$result = $query->execute();
if (!empty($result['node'])) {
  $nids = array_keys($result['node']);
 foreach ($nids as $nid) {
    $node = node_load($nid, NULL, TRUE);
    // do something awesome
  }
}
để tránh tải quá nhiều cùng một lúc, điều này có thể gây ra vấn đề bộ nhớ.