Skip to content

Latest commit

 

History

History
128 lines (91 loc) · 3.33 KB

DatabaseOperations.md

File metadata and controls

128 lines (91 loc) · 3.33 KB

Database operations

Most operations which are focused on management of database instances can only be performed through connection set to default _system database.

Create database

Creates new database with given name and optional user list.

var db = new ADatabase("systemDatabaseAlias");

// creates new database
var createDatabaseResult1 = db.Create("myDatabase1");

// creates another new database with specified users
var users = new List<AUser>()
{
    new AUser { Username = "admin", Password = "secret", Active = true },
    new AUser { Username = "tester001", Password = "test001", Active = false } 
};

var createDatabaseResult2 = db.Create("myDatabase2", users), 

Retrieve current database

Retrieves information about currently connected database.

var db = new ADatabase("systemDatabaseAlias");

var currentDatabaseResult = db.GetCurrent();

if (currentDatabaseResult.Success)
{
    var name = currentDatabaseResult.Value.String("name");
    var id = currentDatabaseResult.Value.String("id");
    var path = currentDatabaseResult.Value.String("path");
    var isSystem = currentDatabaseResult.Value.Bool("isSystem");
}

Retrieve accessible databases

Retrieves list of accessible databases which current user can access without specifying a different username or password.

var db = new ADatabase("systemDatabaseAlias");

var accessibleDatabasesResult = db.GetAccessibleDatabases();

if (accessibleDatabasesResult.Success)
{
    foreach (var database in accessibleDatabasesResult.Value)
    {
        var name = database;
    }
}

Retrieve all databases

Retrieves the list of all existing databases.

var db = new ADatabase("systemDatabaseAlias");

var allDatabasesResult = db.GetAllDatabases();

if (allDatabasesResult.Success)
{
    foreach (var database in allDatabasesResult.Value)
    {
        var name = database;
    }
}

Retrieve database collections

Retrieves information about collections in current database connection.

Applicable optional parameters available through fluent API:

  • ExcludeSystem(bool value) - Determines whether system collections should be excluded from the result.
var db = new ADatabase("systemDatabaseAlias");

var databaseCollectionsResult = db
    .ExcludeSystem(true)
    .GetAllCollections();
    
if (databaseCollectionsResult.Success)
{
    foreach (var collection in databaseCollectionsResult.Value)
    {
        var name = collection.String("name");
    }
}

Delete database

Deletes specified database.

var db = new ADatabase("systemDatabaseAlias");

var deleteDatabaseResult = db.Drop("myDatabase1");

if (deleteDatabaseResult.Success)
{
    var isDeleted = deleteDatabaseResult.Value;
}

More examples

More examples regarding database operations can be found in unit tests.