DittoWriteTransactionPendingCursorOperation

public class DittoWriteTransactionPendingCursorOperation

These objects are returned when using find and findAll functionality on DittoScopedWriteTransactions. You can use them to perform updates on documents and remove or evict documents.

  • Limit the number of documents that get returned when querying a collection for matching documents.

    Declaration

    Swift

    public func limit(_ limit: Int32) -> Self

    Parameters

    limit

    The maximum number of documents that will be returned.

    Return Value

    A DittoWriteTransactionPendingCursorOperation that you can chain further function calls and then either get the matching documents immediately or get updates about them over time.

  • Sort the documents that match the query provided in the preceding find-like function call.

    Documents that are missing the field to sort by will appear at the beginning of the results when sorting in ascending order.

    Declaration

    Swift

    public func sort(_ query: String, direction: DittoSortDirection) -> Self

    Parameters

    query

    Name or path of the field to sort by.

    direction

    Specify whether you want the sorting order to be ascending or descending.

    Return Value

    A DittoWriteTransactionPendingCursorOperation that you can chain further function calls and then either get the matching documents immediately or get updates about them over time.

  • Offset the resulting set of matching documents. This is useful if you aren’t interested in the first N matching documents for one reason or another. For example, you might already have queried the collection and obtained the first 20 matching documents and so you might want to run the same query as you did previously but ignore the first 20 matching documents, and that is where you would use offset.

    Declaration

    Swift

    public func offset(_ offset: UInt32) -> Self

    Parameters

    offset

    The number of matching documents that you want the eventual resulting set of matching documents to be offset by (and thus not include).

    Return Value

    A DittoWriteTransactionPendingCursorOperation that you can chain further function calls and then either get the matching documents immediately or get updates about them over time.

  • Execute the query generated by the preceding function chaining and return the list of matching documents.

    Declaration

    Swift

    public func exec() -> [DittoDocument]

    Return Value

    A list of DittoDocuments matching the query generated by the preceding function chaining.

  • Remove all documents that match the query generated by the preceding function chaining.

    Declaration

    Swift

    @discardableResult
    public func remove() -> [DittoDocumentID]

    Return Value

    A list containing the IDs of the documents that were removed.

  • Evict all documents that match the query generated by the preceding function chaining.

    Declaration

    Swift

    @discardableResult
    public func evict() -> [DittoDocumentID]

    Return Value

    A list containing the IDs of the documents that were evicted.

  • Update documents that match the query generated by the preceding function chaining.

    Throws

    DittoSwiftError.

    Declaration

    Swift

    @discardableResult
    public func update(
        _ closure: @escaping ([DittoMutableDocument]) -> Void
    ) -> [DittoDocumentID: [DittoUpdateResult]]

    Parameters

    closure

    A closure that gets called with all of the documents matching the query. The documents are DittoMutableDocuments so you can call update-related functions on them.

    Return Value

    A dictionary of document IDs to lists of DittoUpdateResult that describes the updates that were performed for each document.