Client API: How to Create a Document Store
To create an instance of the DocumentStore
you need to specify a list of URL addresses that point to RavenDB server nodes.
new DocumentStore(urls, [database], [authOptions]);
Important
Do not open a DocumentStore
using URL addresses that point to nodes outside your cluster.
const store = new DocumentStore(["http://localhost:8080"], "Northwind");
store.initialize();
The above snippet is going to instantiate a communication channel between your application and the local RavenDB server instance.
Initialization
A DocumentStore
instance must be initialized before use by calling the .initialize()
method.
Conventions
After DocumentStore
initialization, the conventions are frozen - modification attempts are going to result with error. Conventions need to be set before .initialize()
is called.
Singleton
Because the document store is a heavyweight object, there should only be one instance created per application (a singleton - simple to achieve in Node.js by wrapping it in a module). Typical initialization of a document store looks as follows:
// documentStoreHolder.js
const store = new DocumentStore("http://localhost:8080", "Northwind");
store.initialize();
export { store as documentStore };
Note
If you use more than one instance of DocumentStore
, you should dispose it after use by calling its .dispose()
method.