You are currently browsing legacy 4.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Client API: How to Setup a Default Database

database property allows you to setup a default database for a DocumentStore. Implication of setting up a default database is that each time you access operations or create a session without explicitly passing database on which they should operate on then default database is assumed.

Example I

// without specifying `database`
// we will need to specify the database in each action
// if no database is passed explicitly we will get an exception

try (DocumentStore store = new DocumentStore()) {
    store.setUrls(new String[]{ "http://localhost:8080" });
    store.initialize();

    try (IDocumentSession session = store.openSession("Northwind")) {
        // ...
    }

    CompactSettings compactSettings = new CompactSettings();
    compactSettings.setDatabaseName("Northwind");
    store.maintenance().server().send(new CompactDatabaseOperation(compactSettings));
}

Example II

// when `database` is set to `Northwind`
// created `operations` or opened `sessions`
// will work on `Northwind` database by default
// if no database is passed explicitly
try (DocumentStore store = new DocumentStore(new String[]{ "http://localhost:8080" }, "Northwind")) {
    store.initialize();

    try (IDocumentSession northwindSession = store.openSession()) {
        // ...
    }

    store.maintenance().send(new DeleteIndexOperation("NorthwindIndex"));


    try (IDocumentSession adventureWorksSession = store.openSession("AdventureWorks")) {
        // ...
    }

    store.maintenance().forDatabase("AdventureWorks").send(new DeleteIndexOperation("AdventureWorksIndex"));
}

Remarks

Note

By default value of database property in DocumentStore is null which means that in any actions that need a database name we will have to specify the database.