diff --git a/mongodb_field_storage/mongodb_field_storage.module b/mongodb_field_storage/mongodb_field_storage.module
index 4a405d0..75efe9e 100644
--- a/mongodb_field_storage/mongodb_field_storage.module
+++ b/mongodb_field_storage/mongodb_field_storage.module
@@ -393,6 +393,22 @@ function mongodb_field_storage_query($query) {
   }
   if (isset($entity_type)) {
     $collection = mongodb_collection($query->age == FIELD_LOAD_CURRENT ? 'fields_current' : 'fields_revision', $entity_type);
+    
+    // Apply explicit AND conditions.
+    // Reference: http://docs.mongodb.org/manual/reference/operator/query/and
+    // MongoDB provides an implicit AND operation when specifying a comma
+    // separated list of expressions. Using an explicit AND with the $and operator
+    // is necessary when the same field or operator has to be specified in
+    // multiple expressions.
+    if (is_array($find)) {
+      $conditions = array();
+      
+      foreach ($find as $f => $c) {
+        $conditions[] = array($f => $c);
+      }
+      
+      $find = array('$and' => $conditions);
+    }
 
     if ($query->count && !$query->range) {
       return $collection->count($find);
