all repos — min @ af4f4ccdc727879c3624fe8d951af2c44d574a20

A small but practical concatenative programming language.

site/contents/reference-dstore.md

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
-----
content-type: "page"
title: "dstore Module"
-----
{@ _defs_.md || 0 @}

{#op||dsdelete||{{dstore}} {{sl}}||{{dstore}}||
Removes an item from the datastore {{dstore}}. The item is uniquely identified by {{sl}}, which contains the collection containing the item and the item id, separated by a forward slash (/). Puts the reference to the modified datastore back on tbe stack.
 #}
 
{#op||dsdelete!||{{dstore}} {{sl}}||{{none}}||
Same as `dsdelete`, but doesn't leave anything on the stack. #}

{#op||dsget||{{dstore}} {{sl}}||{{d}}||
Retrieves item {{d}} from datastore {{dstore}}. {{d}} is retrieved by specifying {{sl}}, which contains the collection containing the item and the item id, separated by a forward slash (/).
 #}

{#op||dsinit||{{sl}}||{{dstore}}||
Initializes a bew datastore by creating the {{sl}} JSON file. Puts the datastore instance on the stack. #}

{#op||dsinit!||{{sl}} {{d}}||{{none}}||
Same as `dsinit`, but doesn't leave anything on the stack. #}

{#op||dspost||{{dstore}} {{sl}} {{d}}||{{dstore}}||
Adds the dictionary {{d}} to the datastore {{dstore}} inside collection {{sl}}, generating and adding a unique **id** field to {{d}}. If the collection {{sl}} does not exist it is created. Puts the reference to the modified datastore back on tbe stack.
 #}
 
{#op||dspost!||{{dstore}} {{sl}} {{d}}||{{none}}||
Same as `dspost`, but doesn't leave anything on the stack. #}

{#op||dsput||{{dstore}} {{sl}} {{d}}||{{dstore}}||
Adds the dictionary {{d}} to the datastore {{dstore}}. {{sl}} contains the collection where {{d}} will be placed and the id of {{d}}, separated by a forward slash (/). If the collection {{sl}} does not exist it is created. Puts the reference to the modified datastore back on tbe stack.
 #}
 
{#op||dsput!||{{dstore}} {{sl}}||{{none}}||
Same as `dsput`, but doesn't leave anything on the stack. #}

{#op||dsquery||{{dstore}} {{sl}} {{q}}||({{d0p}})||
> Retrieves a quotation of dictionaries from the collection {{sl}} of datastore {{dstore}} obtained by applying {{q}} as a filter to each item of the collection, picking only the elements that match the filter.
>
> > %sidebar%
> > Example
> >
> > Assuming that **ds** is a datastore, the following program retrieves all elements of teh collection **posts** whose author field is set to "h3rald":
> >
> >      ds "posts" (/author "h3rald" ==) dsquery
 #}

{#op||dsread||{{sl}}||{{dstore}}||
Reads the previously-created datastore from the file {{sl}} and puts the resulting datastore instance on the stack.
 #}

{#op||dswrite||{{dstore}}||{{dstore}}||
Writes the contents of the datastore {{dstore}} to the filesystem.
 #}

{#op||dswrite!||{{dstore}}||{{none}}||
Same as `dswrite`, but doesn't leave anything on the stack. #}