             case .HasPrefix(key: let key, prefix: let prefix):
                 q.whereKey(key, hasPrefix: prefix)
                 break
+            case .Limit(let limit):
+                q.limit = limit
             }
         }
 

    case Exists(String)
    case DoesNotExist(String)
    case HasPrefix(key: String, prefix: String)
}

extension Constraint :Equatable {}


    case .HasPrefix(key: let lKey, prefix: let lPrefix):
        switch (rhs) {
        case .HasPrefix(key: let rKey, prefix: let rPrefix) where lKey == rKey && lPrefix == rPrefix:
            return true
        default:
            return false
        }
    case .Limit(let lLimit):
        switch (rhs) {
        case .Limit(let rLimit):
            return true
        default:
            return false
