Record Class DbRequest

java.lang.Object
java.lang.Record
de.wuespace.telestion.extension.mongodb.message.DbRequest
Record Components:
collection - String of the desired MongoDB collection.
query - MongoDB queries are written in JSON. This parameter is a String representation of JSONObject. "{ "key": "value" }" with key meaning the name of the field in the MongoDB document. IN condition: { key: { $in: ["value1", "value2", ...] }} AND condition: { key1: "value1", key2: { $lt: value } } with $lt meaning less than OR condition: { $or: [{ key1: "value1" }, { key2: { $gt: value2 }}] }
fields - List of key Strings in the collection limiting the fields that should be returned.
sort - List of key Strings that the returned data should be sorted by.
limit - Limits the amount of returned entries. -1 equals all entries found.
skip - Specifies how many entries should be skipped. 0 is default, meaning no entries are skipped.
aggregate - List of fields, that should be aggregated. Leave empty for normal DbRequest.
All Implemented Interfaces:
de.wuespace.telestion.api.message.JsonMessage

public record DbRequest(String collection, String query, List<String> fields, List<String> sort, int limit, int skip, String aggregate) extends Record implements de.wuespace.telestion.api.message.JsonMessage
Record to provide the structure of a database request.
See Also:
MongoDB manual for more information.
  • Constructor Details

    • DbRequest

      public DbRequest()
    • DbRequest

      public DbRequest(String collection)
    • DbRequest

      public DbRequest(String collection, String query)
    • DbRequest

      public DbRequest(String collection, String query, String aggregate)
    • DbRequest

      public DbRequest(String collection, String query, List<String> fields, List<String> sort, int limit, int skip, String aggregate)
      Creates an instance of a DbRequest record class.
      Parameters:
      collection - the value for the collection record component
      query - the value for the query record component
      fields - the value for the fields record component
      sort - the value for the sort record component
      limit - the value for the limit record component
      skip - the value for the skip record component
      aggregate - the value for the aggregate record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • collection

      public String collection()
      Returns the value of the collection record component.
      Returns:
      the value of the collection record component
    • query

      public String query()
      Returns the value of the query record component.
      Returns:
      the value of the query record component
    • fields

      public List<String> fields()
      Returns the value of the fields record component.
      Returns:
      the value of the fields record component
    • sort

      public List<String> sort()
      Returns the value of the sort record component.
      Returns:
      the value of the sort record component
    • limit

      public int limit()
      Returns the value of the limit record component.
      Returns:
      the value of the limit record component
    • skip

      public int skip()
      Returns the value of the skip record component.
      Returns:
      the value of the skip record component
    • aggregate

      public String aggregate()
      Returns the value of the aggregate record component.
      Returns:
      the value of the aggregate record component