接口 Collection

  • 所有超级接口:
    DatabaseObject
    所有已知实现类:
    CollectionImpl

    public interface Collection
    extends DatabaseObject
    Representation of a document collection. This interface allows access to and manipulation of the collection through add/find/modify/remove statements.
    • 方法详细资料

      • add

        AddStatement add​(Map<String,​?> doc)
        Add a document in the form of a Map.
        参数:
        doc - map of key-value parameters representing the document fields
        返回:
        AddStatement
      • add

        AddStatement add​(String... jsonStrings)
        Add one or more documents.
        参数:
        jsonStrings - one or more documents given as JSON strings
        返回:
        AddStatement
      • find

        FindStatement find​(String searchCondition)
        Create a new find statement retrieving documents matching the given search condition.
        参数:
        searchCondition - condition expression
        返回:
        FindStatement
      • modify

        ModifyStatement modify​(String searchCondition)
        Create a new modify statement affecting documents matching the given search condition.
        参数:
        searchCondition - condition expression
        返回:
        ModifyStatement
      • remove

        RemoveStatement remove​(String searchCondition)
        Create a new removal statement affecting documents matching the given search condition.
        参数:
        searchCondition - condition expression
        返回:
        RemoveStatement
      • createIndex

        Result createIndex​(String indexName,
                           DbDoc indexDefinition)
        Create a new statement defining the creation of an index on this collection.

        Example: collection.createIndex("myIndex", "{\"fields\": [{\"field\": \"$.myGeoJsonField\", \"type\": \"GEOJSON\", \"required\": true, \"options\": 2, \"srid\": 4326}], \"type\":\"SPATIAL\"}");

        参数:
        indexName - index name
        indexDefinition - JSON document with the following fields:
        • fields: array of IndexField objects, each describing a single document member to be included in the index (see below)
        • type: string, (optional) the type of index. One of INDEX or SPATIAL (case insensitive). Default is INDEX and may be omitted.
        where single IndexField description consists of the following fields:
        • field: string, the full document path to the document member or field to be indexed
        • type: string, one of the supported SQL column types to map the field into (see below for a list). For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for indexing may be added. Type descriptions are case insensitive.
        • required: bool, (optional) true if the field is required to exist in the document. Defaults to false, except for GEOJSON where it defaults to true
        • options: int, (optional) special option flags for use when decoding GEOJSON data
        • srid: int, (optional) srid value for use when decoding GEOJSON data
        返回:
        Result
      • createIndex

        Result createIndex​(String indexName,
                           String jsonIndexDefinition)
        Create a new statement defining the creation of an index on this collection.

        Example: collection.createIndex("myIndex", "{\"fields\": [{\"field\": \"$.myGeoJsonField\", \"type\": \"GEOJSON\", \"required\": true, \"options\": 2, \"srid\": 4326}], \"type\":\"SPATIAL\"}");

        参数:
        indexName - index name
        jsonIndexDefinition - JSON document with the following fields:
        • fields: array of IndexField objects, each describing a single document member to be included in the index (see below)
        • type: string, (optional) the type of index. One of INDEX or SPATIAL. Default is INDEX and may be omitted.
        where single IndexField description consists of the following fields:
        • field: string, the full document path to the document member or field to be indexed
        • type: string, one of the supported SQL column types to map the field into (see below for a list). For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for indexing may be added.
        • required: bool, (optional) true if the field is required to exist in the document. Defaults to false, except for GEOJSON where it defaults to true
        • options: int, (optional) special option flags for use when decoding GEOJSON data
        • srid: int, (optional) srid value for use when decoding GEOJSON data
        返回:
        Result
      • dropIndex

        void dropIndex​(String indexName)
        Create a new statement defining the removal of an index on this collection.
        参数:
        indexName - index name
      • count

        long count()
        Query the number of documents in this collection.
        返回:
        The number of documents in this collection
      • newDoc

        DbDoc newDoc()
        Create a new document.
        返回:
        DbDoc
      • replaceOne

        Result replaceOne​(String id,
                          DbDoc doc)
        Takes in a document object that will replace the matching document. If no matches are found, the function returns normally with no changes being made.
        参数:
        id - the document id of the document to be replaced
        doc - the new document, which may contain expressions. If document contains an _id value, it is ignored.
        返回:
        Result object, which will indicate the number of affected documents (1 or 0, if none)
      • replaceOne

        Result replaceOne​(String id,
                          String jsonString)
        Takes in a document object that will replace the matching document. If no matches are found, the function returns normally with no changes being made.
        参数:
        id - the document id of the document to be replaced
        jsonString - the new document, given as JSON string, which may contain expressions. If document contains an _id value, it is ignored.
        返回:
        Result object, which will indicate the number of affected documents (1 or 0, if none)
      • addOrReplaceOne

        Result addOrReplaceOne​(String id,
                               DbDoc doc)
        Adds the document to the collection. The following algorithm applies:
        参数:
        id - the document id of the document to be replaced
        doc - the new document, which may contain expressions. If doc contains an _id value and it does not match the given id then the error will be thrown.
        返回:
        Result object, which will indicate the number of affected documents (0 - if none, 1 - if added, 2 - if replaced)
      • addOrReplaceOne

        Result addOrReplaceOne​(String id,
                               String jsonString)
        Adds the document to the collection. The following algorithm applies:
        参数:
        id - the document id of the document to be replaced
        jsonString - the new document, given as JSON string, which may contain expressions. If doc contains an _id value and it does not match the given id then the error will be thrown.
        返回:
        Result object, which will indicate the number of affected documents (0 - if none, 1 - if added, 2 - if replaced)
      • getOne

        DbDoc getOne​(String id)
        Return the document with the given id.
        参数:
        id - the document id of the document to be retrieved
        返回:
        the document, or NULL if no match found
      • removeOne

        Result removeOne​(String id)
        Removes the document with the given id.
        参数:
        id - the document id of the document to be removed
        返回:
        Returns a Result object, which will indicate the number of removed documents (1 or 0, if none)