CBLDatabase
@interface CBLDatabase : NSObject <CBLQueryFactory>A Couchbase Lite database.
- 
                  
                  The database’s name. DeclarationObjective-C @property (nonatomic, readonly) NSString *_Nonnull name;
- 
                  
                  The database’s path. If the database is closed or deleted, nil value will be returned. DeclarationObjective-C @property (readonly, nullable) NSString *path;
- 
                  
                  Deprecated Use [database defaultCollection].count instead. The number of documents in the database. DeclarationObjective-C @property (readonly) uint64_t count;
- 
                  
                  The database’s configuration. The returned configuration object is readonly; an NSInternalInconsistencyException exception will be thrown if the configuration object is modified. DeclarationObjective-C @property (nonatomic, readonly) CBLDatabaseConfiguration *_Nonnull config;
- 
                  
                  Initializes a database object with a given name and the default database configuration. If the database does not yet exist, it will be created. DeclarationObjective-C - (nullable instancetype)initWithName:(nonnull NSString *)name error:(NSError *_Nullable *_Nullable)error;ParametersnameThe name of the database. errorOn return, the error if any. 
- 
                  
                  Initializes a Couchbase Lite database with a given name and database configuration. If the database does not yet exist, it will be created. DeclarationObjective-C - (nullable instancetype)initWithName:(nonnull NSString *)name config: (nullable CBLDatabaseConfiguration *)config error:(NSError *_Nullable *_Nullable)error;ParametersnameThe name of the database. configThe database configuration, or nil for the default configuration. errorOn return, the error if any. 
- 
                  
                  Unavailable Not available DeclarationObjective-C - (nonnull instancetype)init;
- 
                  
                  Deprecated Use [database defaultCollection] documentWithID:] instead. Gets an existing document from the default collection by document ID. If the document doesn’t exist in the database, nil will be returned. DeclarationObjective-C - (nullable CBLDocument *)documentWithID:(nonnull NSString *)id;ParametersidThe document ID. Return ValueThe CBLDocument object. 
- 
                  
                  Deprecated Use [[database defaultCollection] objectForKeyedSubscript:] instead. Gets a document fragment from the default collection by document ID. DeclarationObjective-C - (nonnull CBLDocumentFragment *)objectForKeyedSubscript: (nonnull NSString *)documentID;ParametersdocumentIDThe document ID. Return ValueThe CBLDocumentFragment object. 
- 
                  
                  Deprecated Use [[database defaultCollection] saveDocument:error:] instead. Saves a document to the default collection. When write operations are executed concurrently, the last writer will overwrite all other written values. Calling this method is the same as calling the -saveDocument:concurrencyControl:error: method with kCBLConcurrencyControlLastWriteWins concurrency control. DeclarationObjective-C - (BOOL)saveDocument:(nonnull CBLMutableDocument *)document error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] saveDocument:concurrencyControl:error:] instead. Saves a document to the default collection. When used with kCBLConcurrencyControlLastWriteWins concurrency control, the last write operation will win if there is a conflict. When used with kCBLConcurrencyControlFailOnConflict concurrency control, save will fail with ‘CBLErrorConflict’ error code returned. DeclarationObjective-C - (BOOL)saveDocument:(nonnull CBLMutableDocument *)document concurrencyControl:(CBLConcurrencyControl)concurrencyControl error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document. concurrencyControlThe concurrency control. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] saveDocument:conflictHandler:error:] instead. Saves a document to the default collection. When write operations are executed concurrently and if conflicts occur, the conflict handler will be called. Use the conflict handler to directly edit the document to resolve the conflict. When the conflict handler returns ‘true’, the save method will save the edited document as the resolved document. If the conflict handler returns ‘false’, the save operation will be canceled with ‘false’ value returned as the conflict wasn’t resolved. DeclarationObjective-C - (BOOL)saveDocument:(nonnull CBLMutableDocument *)document conflictHandler:(nonnull BOOL (^)(CBLMutableDocument *_Nonnull, CBLDocument *_Nonnull))conflictHandler error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document. conflictHandlerThe conflict handler block which can be used to resolve it. errorOn return, error if any. Return ValueTrue if successful. False if there is a conflict, but the conflict wasn’t resolved as the conflict handler returns ‘false’ value. 
- 
                  
                  Deprecated Use [[database defaultCollection] deleteDocument:error:] instead. Deletes a document from the default collection. When write operations are executed concurrently, the last writer will overwrite all other written values. Calling this method is the same as calling the -deleteDocument:concurrencyControl:error: method with kCBLConcurrencyControlLastWriteWins concurrency control. DeclarationObjective-C - (BOOL)deleteDocument:(nonnull CBLDocument *)document error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document. errorOn return, the error if any. Return Value/True on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] deleteDocument:concurrencyControl:error:] instead. Deletes a document from the default collection. When used with kCBLConcurrencyControlLastWriteWins concurrency control, the last write operation will win if there is a conflict. When used with kCBLConcurrencyControlFailOnConflict concurrency control, delete will fail with ‘CBLErrorConflict’ error code returned. DeclarationObjective-C - (BOOL)deleteDocument:(nonnull CBLDocument *)document concurrencyControl:(CBLConcurrencyControl)concurrencyControl error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document. concurrencyControlThe concurrency control. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] purgeDocument:error:] instead. Purges the given document from the default collection. This is more drastic than deletion: it removes all traces of the document. The purge will NOT be replicated to other databases. DeclarationObjective-C - (BOOL)purgeDocument:(nonnull CBLDocument *)document error:(NSError *_Nullable *_Nullable)error;ParametersdocumentThe document to be purged. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] purgeDocumentWithID:error:] instead. Purges the document with the given document ID from the default collection This is more drastic than deletion: it removes all traces of the document. The purge will NOT be replicated to other databases. DeclarationObjective-C - (BOOL)purgeDocumentWithID:(nonnull NSString *)documentID error:(NSError *_Nullable *_Nullable)error;ParametersdocumentIDThe ID of the document to be purged. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Save a blob object directly into the database without associating it with any documents. Note: Blobs that are not associated with any documents will be removed from the database when compacting the database. DeclarationObjective-C - (BOOL)saveBlob:(nonnull CBLBlob *)blob error:(NSError *_Nullable *_Nullable)error;ParametersblobThe blob to save. errorOn return, the error if any. Return Value/True on success, false on failure. 
- 
                  
                  Get a blob object using a blob’s metadata. If the blob of the specified metadata doesn’t exist, the nil value will be returned. @Note Key | Value | Mandatory | Description@type | constant string “blob” | Yes | Indicate Blob data type. content_type | String | No | Content type ex. text/plain. length | Number | No | Binary length of the Blob in bytes. digest | String | Yes | The cryptographic digest of the Blob’s content. DeclarationObjective-C - (nullable CBLBlob *)getBlob:(nonnull NSDictionary *)properties;ParameterspropertiesThe properties for getting the blob object. If dictionary is not valid, it will throw InvalidArgument exception. See the note section Return ValueBlob on success, otherwise nil. 
- 
                  
                  Runs a group of database operations in a batch. Use this when performing bulk write operations like multiple inserts/updates; it saves the overhead of multiple database commits, greatly improving performance. DeclarationObjective-C - (BOOL)inBatch:(NSError *_Nullable *_Nullable)error usingBlock:(nonnull void (^)(void))block;ParameterserrorOn return, the error if any. blockThe block to execute a group of database operations. Return ValueTrue on success, false on failure. 
- 
                  
                  Close database synchronously. Before closing the database, the active replicators, listeners and live queries will be stopped. DeclarationObjective-C - (BOOL)close:(NSError *_Nullable *_Nullable)error;ParameterserrorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Close and delete the database synchronously. Before closing the database, the active replicators, listeners and live queries will be stopped. DeclarationObjective-C - (BOOL)delete:(NSError *_Nullable *_Nullable)error;ParameterserrorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Performs database maintenance. DeclarationObjective-C - (BOOL)performMaintenance:(CBLMaintenanceType)type error:(NSError *_Nullable *_Nullable)error;ParameterstypeMaintenance type. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deletes a database of the given name in the given directory. DeclarationObjective-C + (BOOL)deleteDatabase:(nonnull NSString *)name inDirectory:(nullable NSString *)directory error:(NSError *_Nullable *_Nullable)error;ParametersnameThe database name. directoryThe directory where the database is located at. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Checks whether a database of the given name exists in the given directory or not. DeclarationObjective-C + (BOOL)databaseExists:(nonnull NSString *)name inDirectory:(nullable NSString *)directory;ParametersnameThe database name. directoryThe directory where the database is located at. Return ValueTrue on success, false on failure. 
- 
                  
                  Copies a canned databaes from the given path to a new database with the given name and the configuration. The new database will be created at the directory specified in the configuration. Without given the database configuration, the default configuration that is equivalent to setting all properties in the configuration to nil will be used. @Note This method will copy the database without changing the encryption key of the original database. The encryption key specified in the given config is the encryption key used for both the original and copied database. To change or add the encryption key for the copied database, call [Database changeEncryptionKey:error:] for the copy. @Note It is recommended to close the source database before calling this method. DeclarationObjective-C + (BOOL)copyFromPath:(nonnull NSString *)path toDatabase:(nonnull NSString *)name withConfig:(nullable CBLDatabaseConfiguration *)config error:(NSError *_Nullable *_Nullable)error;ParameterspathThe source database path. nameThe name of the new database to be created. configThe database configuration for the new database. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Log object used for configuring console, file, and custom logger. DeclarationObjective-C + (nonnull CBLLog *)log;Return Valuelog object 
- 
                  
                  Deprecated Use [[database defaultCollection] addChangeListener:] instead. Adds a change listener to listen to changes in the default collection. Changes will be posted on the main queue. DeclarationObjective-C - (nonnull id<CBLListenerToken>)addChangeListener: (nonnull void (^)(CBLDatabaseChange *_Nonnull))listener;ParameterslistenerThe listener to post the changes. Return ValueAn opaque listener token object for removing the listener. 
- 
                  
                  Deprecated Use [[database defaultCollection] addChangeListenerWithQueue:listener:] instead. Adds a change listener to listen to changes in the default collection with the dispatch queue on which changes will be posted. If the dispatch queue is not specified, the changes will be posted on the main queue. DeclarationObjective-C - (nonnull id<CBLListenerToken>) addChangeListenerWithQueue:(nullable dispatch_queue_t)queue listener:(nonnull void (^)(CBLDatabaseChange *_Nonnull)) listener;ParametersqueueThe dispatch queue. listenerThe listener to post changes. Return ValueAn opaque listener token object for removing the listener. 
- 
                  
                  Deprecated Use [[database defaultCollection] addDocumentChangeListenerWithID:listener:] instead. Adds a document change listener for the document with the given document ID in the default collection. Changes will be posted on the main queue. DeclarationObjective-C - (nonnull id<CBLListenerToken>) addDocumentChangeListenerWithID:(nonnull NSString *)id listener:(nonnull void (^)( CBLDocumentChange *_Nonnull))listener;ParametersidThe document ID. listenerThe listener to post changes. Return ValueAn opaque listener token object for removing the listener. 
- 
                  
                  Deprecated Use [[database defaultCollection] addDocumentChangeListenerWithID:queue:listener:] instead. Adds a document change listener for the document of the given document ID in the default collection with the dispatch queue on which changes will be posted. If the dispatch queue is not specified, the changes will be posted on the main queue. DeclarationObjective-C - (nonnull id<CBLListenerToken>) addDocumentChangeListenerWithID:(nonnull NSString *)id queue:(nullable dispatch_queue_t)queue listener:(nonnull void (^)( CBLDocumentChange *_Nonnull))listener;ParametersidThe document ID. queueThe dispatch queue. listenerThe listener to post changes. Return ValueAn opaque listener token object for removing the listener. 
- 
                  
                  Deprecated Use [ListenerToken remove] instead. Removes a change listener with the given listener token. DeclarationObjective-C - (void)removeChangeListenerWithToken:(nonnull id<CBLListenerToken>)token;ParameterstokenThe listener token. 
- 
                  
                  Deprecated Use [[database defaultCollection] indexes] instead. All index names. DeclarationObjective-C @property (readonly) __deprecated_msg("Use [[database defaultCollection] indexes] instead.") NSArray<NSString *> *indexes;
- 
                  
                  Deprecated Use [[database defaultCollection] createIndexWithConfig:name:error:] instead. Creates an index with the index name in the default collection. The index could be a value index or a full-text index. The index name can be used later for deleting the index. Creating a new different index with an existing index name will replace the old index. Creating the same index with the same name will be no-ops. DeclarationObjective-C - (BOOL)createIndex:(nonnull CBLIndex *)index withName:(nonnull NSString *)name error:(NSError *_Nullable *_Nullable)error;ParametersindexThe index. nameThe index name. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] createIndexWithConfig:name:error:] instead. Creates an index in the default collection with the index config and the index name. The index config could be a value index or a full-text index. The index name can be used later for deleting the index. Creating a new different index with an existing index name will replace the old index. Creating the same index with the same name will be no-ops. DeclarationObjective-C - (BOOL)createIndexWithConfig:(nonnull CBLIndexConfiguration *)config name:(nonnull NSString *)name error:(NSError *_Nullable *_Nullable)error;ParametersconfigThe index configuration nameThe index name. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] deleteIndexForName:error:] instead. Deletes the index from the default collection by name. DeclarationObjective-C - (BOOL)deleteIndexForName:(nonnull NSString *)name error:(NSError *_Nullable *_Nullable)error;ParametersnameThe index name. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] setDocumentExpirationWithID:expiration:error:] instead. Sets an expiration date on a document in the default collection. After this time the document will be purged from the database. DeclarationObjective-C - (BOOL)setDocumentExpirationWithID:(nonnull NSString *)documentID expiration:(nullable NSDate *)date error:(NSError *_Nullable *_Nullable)error;ParametersdocumentIDThe ID of the document to set the expiration date for dateThe expiration date. Set nil date will reset the document expiration. errorOn return, the error if any. Return ValueTrue on success, false on failure. 
- 
                  
                  Deprecated Use [[database defaultCollection] getDocumentExpirationWithID:] instead. Returns the expiration time of a document in the default collection, if exists, else nil. DeclarationObjective-C - (nullable NSDate *)getDocumentExpirationWithID:(nonnull NSString *)documentID;ParametersdocumentIDThe ID of the document to set the expiration date for Return Valuethe expiration time of a document, if one has been set, else nil. 
- 
                  
                  Get scope names that have at least one collection. Note The default scope is exceptional as it will always be listed even though there are no collections under it. DeclarationObjective-C - (nullable NSArray<CBLScope *> *)scopes:(NSError *_Nullable *_Nullable)error;ParameterserrorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return Valuereturns the scope names, or nil if an error occurred. 
- 
                  
                  Get a scope object by name. As the scope cannot exist by itself without having a collection, the nil value will be returned if there are no collections under the given scope’s name. Note The default scope is exceptional, and it will always be returned. DeclarationObjective-C - (nullable CBLScope *)scopeWithName:(nullable NSString *)name error:(NSError *_Nullable *_Nullable)error;ParametersnameScope name, if empty, it will use default scope name. errorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return ValueScope object, or nil if an error occurred. 
- 
                  
                  Get all collections in the specified scope. DeclarationObjective-C - (nullable NSArray<CBLCollection *> *) collections:(nullable NSString *)scope error:(NSError *_Nullable *_Nullable)error;ParametersscopeScope name errorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return Valuelist of collections in the scope, or nil if an error occurred. 
- 
                  
                  Create a named collection in the specified scope. DeclarationObjective-C - (nullable CBLCollection *) createCollectionWithName:(nonnull NSString *)name scope:(nullable NSString *)scope error:(NSError *_Nullable *_Nullable)error;Parametersnamename for the new collection scopecollection will be created under this scope, if not specified, use the default scope. errorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return ValueNewly created collection or if already exists, the existing collection will be returned , or nil if an error occurred. 
- 
                  
                  Get a collection in the specified scope by name. DeclarationObjective-C - (nullable CBLCollection *)collectionWithName:(nonnull NSString *)name scope:(nullable NSString *)scope error:(NSError *_Nullable *_Nullable) error;ParametersnameName of the collection to be fetched. scopeName of the scope the collection resides, if not specified uses the default scope. errorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. CBLErrorNotFound code will be returned if the collection doesn’t exist. Return Valuecollection instance or If the collection doesn’t exist, a nil value will be returned. 
- 
                  
                  Delete a collection by name in the specified scope. If the collection doesn’t exist, the operation will be no-ops. Note The default collection cannot be deleted. DeclarationObjective-C - (BOOL)deleteCollectionWithName:(nonnull NSString *)name scope:(nullable NSString *)scope error:(NSError *_Nullable *_Nullable)error;ParametersnameName of the collection to be deleted scopeName of the scope the collection resides, if not specified uses the default scope. errorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return ValueTrue on success, false on failure. 
- 
                  
                  Get the default scope. DeclarationObjective-C - (nullable CBLScope *)defaultScope:(NSError *_Nullable *_Nullable)error;ParameterserrorOn return, the error if any. CBLErrorNotOpen code will be returned if the database is closed. Return ValueDefault Scope, or nil if an error occurred. 
- 
                  
                  Get the default collection. DeclarationObjective-C - (nullable CBLCollection *)defaultCollection: (NSError *_Nullable *_Nullable)error;ParameterserrorOn return, the error if any. Return ValueDefault collection, or nil if an error occurred. 
- 
                  
                  ENTERPRISE EDITION ONLY. Changes the database’s encryption key, or removes encryption if the new key is nil. DeclarationObjective-C - (BOOL)changeEncryptionKey:(nullable CBLEncryptionKey *)key error:(NSError *_Nullable *_Nullable)error;ParameterskeyThe encryption key. errorOn return, the error if any. Return ValueTrue if the database was successfully re-keyed, or false on failure. 
- 
                  
                  ENTERPRISE EDITION ONLY The predictive model manager for registering and unregistering predictive models. DeclarationObjective-C + (nonnull CBLPrediction *)prediction;
 CBLDatabase Class Reference
        CBLDatabase Class Reference