Get Identities Operation


  • Upon document creation, providing a collection name with a pipe symbol (|) will cause the server to generate an ID for the new document called an identity.
    E.g. companies|

  • The identity document ID is unique across the entire cluster within the database scope.
    It is composed of the provided collection name and an integer value that is continuously incremented.

  • Identity values can also be managed from the Studio identities view.

  • Use GetIdentitiesOperation to get the dictionary that maps collection names to their corresponding latest identity values.

  • Learn more about identities in:

  • In this page:


Get identities operation

# Create a document with an identity ID:
# ======================================
with store.open_session() as session:
    # Request the server to generate an identity ID for the new document. Pass:
    #    * The entity to store
    #    * The collection name with a pipe (|) postfix
    session.store(Company(name="RavenDB"), "companies|")

    #  If this is the first identity created for this collection,
    #  and if the identity value was not customized
    #  then a document with an identity ID "companies/1" will be created
    session.save_changes()

# Get identities information:
# ===========================

# Define the get identities operation
get_identities_op = GetIdentitiesOperation()

# Execute the operation by passing it to maintenance.send
identities = store.maintenance.send(get_identities_op)

# Results
latest_identity_value = identities["companies|"]  # => value will be 1

Syntax

class GetIdentitiesOperation(MaintenanceOperation[Dict[str, int]]): ...