Skip to content
This repository has been archived by the owner on Sep 21, 2024. It is now read-only.

Query Commands

Furkan Kambay edited this page May 6, 2019 · 7 revisions

Descriptions

  • c:show - Only include provided fields
  • c:hide - Exclude provided fields
  • c:sort - Sort results by provided fields (field:-1: reverse)
  • c:has - Include objects that have provided fields
  • c:resolve - Merge data from another collection
  • c:case - Whether a search should be case-sensitive (slows down queries - use lower case version of fields)
  • c:limit - Limits the results
  • c:limitPerDB - Limits the results per database (characters are distributed randomly across 20 DBs)
  • c:start - Skips first N results
  • c:includeNull - Include null values in results (no need?)
  • c:lang - Get only provided language in internationalized strings (no need?)
  • c:join - Dynamically joins multiple data types. Replaces c:resolve and adds more options.
  • c:tree - Rearranges data into trees. (No need since we have LINQ?)
  • c:timing - Shows the time taken by the involved server-side queries and resolves
  • c:exactMatchFirst - Show exact matches first in results when using RegEx queries (=^, =*)
  • c:distinct - Get the distinct values of provided field. Results are capped at 20,000 values.
  • c:retry - Whether query will be tried once more (default is true)

Easy to implement

  • c:sort
  • c:limit
  • c:limitPerDB
  • c:start
  • c:timing (union return? add to classes?)
  • c:exactMatchFirst
  • c:distinct (as a separate method like GetDistinctValues<T>()?)
  • c:retry
  • c:has

Harder to implement

  • c:show (via Select, caller creates an anonymous object)
  • c:resolve (have a plan)

Too hard to implement (any ideas are welcome)

  • c:hide (no need?)
  • c:join (some parts might work)
Clone this wiki locally