Commits (4)
......@@ -51,9 +51,16 @@ represents a Database. Naturally it has .connect() etc. methods on it.
import * as smartdata from "smartdata";
let myRethinkDb1 = new smartdata.Db({
// rethinkDb connection options here
db: "test",
host: "https://some",
user: "testuser",
password: "testpass",
port: 1234
});
// in case you need to support a proprietory ssl cert (e.g. compose.com):
myRethinkDb1.setSsl(process.env.RDB_CERT, "base64");
myDb1.connect();
```
......@@ -97,6 +104,7 @@ MyObject.getInstance<MyObject>({
represents a individual document in a collection
and thereby is ideally suited to extend the class you want to actually store.
**sStore** instances of classes to Db:
DbDoc extends your class with the following methods:
* `.save()` will save (or update) the object you call it on only. Any referenced non-savable objects will not get stored.
......@@ -105,8 +113,10 @@ DbDoc extends your class with the following methods:
that extends DbDoc as well and call .saveDeep() on them as well.
Loops are prevented
So now we can **store** instances of classes to Db...
How do we **get** a new class instance from a Doc in the DB?
**Get** a new class instance from a Doc in the DB:
DbDoc exposes a static method that allows you specify a filter to retrieve a cloned class of the one you used to that doc at some point later in time. Yes, let that sink in a minute :)
So you can just call `.getInstance({ /* filter props here */ })`.
## TypeScript
......
{
"name": "smartdata",
"version": "2.0.4",
"version": "2.0.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......
{
"name": "smartdata",
"version": "2.0.4",
"version": "2.0.6",
"description": "do more with data",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
......