简体   繁体   中英

Neo4j LIMIT if parameter is set

is there a way to set a LIMIT only, if the parameter {limit} has an numeric value.

...
RETURN whatever
LIMIT {limit}

maybe in a way like this (i know, that the next code example does not work)

...
RETURN whatever
if({limit}>0)
  LIMIT {limit}

thanks!

You should process this logic in your application layer by building dynamic queries.

Edit :

This can simply be done like the example below (in php but possible in all languages)

public function doMatchQuery($limit = null)
{
    $query = 'MATCH (n) RETURN n';
    if ($limit && $limit !== 0) {
      // extend the query string
      $query .= ' LIMIT '.$limit;
    }
}

// Calling your function
$matchAll = $this->doMatchQuery(); // Return all n elements from the db
$matchFirstTen = $this->doMatchQuery(10); // Return the n elements with a limit of 10

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM