DittoDocumentID
public struct DittoDocumentID : Hashable
extension DittoDocumentID: CustomStringConvertible, CustomDebugStringConvertible
extension DittoDocumentID: ExpressibleByStringLiteral
extension DittoDocumentID: ExpressibleByBooleanLiteral
extension DittoDocumentID: ExpressibleByIntegerLiteral
extension DittoDocumentID: ExpressibleByArrayLiteral
extension DittoDocumentID: ExpressibleByDictionaryLiteral
An identifier for a DittoDocument
.
Each DittoDocumentID
represents a unique identifier for a document.
-
Initializes a new
DittoDocumentID
.A document ID can be created from any of the following:
- string
- integer
- boolean
- null
- byte array
- array (containing any of the items in this list)
- map (where the keys must be strings and the values can be made up of any of the items in this list)
Note that you cannot use floats or other custom types to create a document ID.
Document IDs are also limited in size, based on their serialized representation, to 256 bytes. You will receive an error if you try to create a document ID that exceeds the size limit.
Declaration
Swift
public init(value: Any?)
Parameters
value
The value that represents the document identifier.
-
Used to specify a path to a key in the document ID that you can subscript further to access a nested key in the document ID.
Declaration
Swift
public subscript(key: String) -> DittoDocumentIDPath { get }
Parameters
key
The next part of the path needed to get to the key in the document ID you wish to get the value of.
Return Value
The same
DittoDocumentIDPath
object with the provided key incorporated into the document ID path. -
Used to specify an index in the array at the preceding key-path specified through the subscripting defined previously. You can subscript the return value further to access a further nested key in the document ID.
Declaration
Swift
public subscript(index: Int) -> DittoDocumentIDPath { get }
Parameters
index
The index of the array that you wish to access in the key previously specified with the preceding subscripting.
Return Value
The same
DittoDocumentIDPath
object with the provided index incorporated into the document ID path. -
The underlying value of the document identifier as a native type.
Declaration
Swift
public var value: Any? { get }
-
Returns a native representation of a document identifier.
Declaration
Swift
@available(*, deprecated, message: "use the `value` property instead") public func toNative() -> Any?
Return Value
A value representing the document identifier.
-
Returns a stringified representation of a document identifier.
The returned string can be used directly in queries that you use with other Ditto functions. For example you could create a query that was like this:
myCollection.find("_id == \(docID.toString())")
Declaration
Swift
public func toString() -> String
Return Value
An
String
representation of the document identifier. -
Declaration
Swift
public static func == (lhs: DittoDocumentID, rhs: DittoDocumentID) -> Bool
-
Declaration
Swift
public func hash(into hasher: inout Hasher)
-
Declaration
Swift
public var description: String { get }
-
Declaration
Swift
public var debugDescription: String { get }
-
Declaration
Swift
public init(stringLiteral value: StringLiteralType)
-
Declaration
Swift
public init(booleanLiteral value: BooleanLiteralType)
-
Declaration
Swift
public init(integerLiteral value: IntegerLiteralType)
-
Declaration
Swift
public typealias ArrayLiteralElement = Any?
-
Declaration
Swift
public init(arrayLiteral elements: Any?...)
-
Declaration
Swift
public typealias Key = String
-
Declaration
Swift
public typealias Value = Any?