diff --git a/_config.yml b/_config.yml index 1bf4d528..68d2c865 100644 --- a/_config.yml +++ b/_config.yml @@ -1,5 +1,5 @@ --- -title: RESTHeart - Ready to use backend for Web and Mobile Apps +title: RESTHeart - Virtual Threads Powered API Framework timezone: Europe/Rome collections: posts: @@ -28,9 +28,14 @@ defaults: docs_version: 6 sitemap: false - scope: - path: docs + path: docs/v7 values: docs_version: 7 + sitemap: false +- scope: + path: docs + values: + docs_version: 8 encoding: UTF-8 email: info@softinstigate.com description: Low code API Framework for MongoDB diff --git a/_includes/docs-sidebar.html b/_includes/docs-sidebar.html index ce95fa0a..4630bdde 100644 --- a/_includes/docs-sidebar.html +++ b/_includes/docs-sidebar.html @@ -3,8 +3,10 @@
RESTHeart features set
+RESTHeart modular architecture
+MongoDB features supported by RESTHeart
+
+Property
+ |
+
+Description
+ |
+
+Mandatory
+ |
+
---|---|---|
schemaId |
+the _id of the JSON schema to enforce |
+Yes | +
schemaStoreDb |
+the db | +No, if omitted the current db is used. | +
+ Beginning with version 7.5, this has been marked as deprecated and substituted with the all-encompassing Monitoring feature. +
++ CAUTION: It is scheduled for removal in RESTHeart v8.0. +
+
+Property
+ |
+
+Description
+ |
+
+Mandatory
+ |
+
---|---|---|
rel |
+Name of the relationship. |
+Yes | +
type |
+Type of relationship: ONE_TO_ONE, MANY_TO_ONE, ONE_TO_MANY or MANY_TO_MANY | +Yes | +
role |
+Role of the relationship: OWNING or INVERSE. This says where the reference field is. OWNING means it is in this document, INVERSE means that it is on the target document. | +Yes | +
target-db |
+Database name of the referenced document(s) | +No. If omitted the target db is supposed to be the current one |
+
target-coll |
+Collection's name of the referenced document(s) | +Yes | +
ref-field |
+Name of the first level field storing the id(s) of the referenced document(s) or the json path expression that resolves to the ids of the referenced documents (to reference nested fields). +The value of the first level field must be either the id string (in case the multiplicity of other side of the relationship is ONE) or an array of id strings (in case the multiplicity of other side of the relationship is MANY) +Note: json path expression must start with
|
+Yes | +
+ _links
are only returned on hal full mode. The only exception are with
+ relationships. If a collection defines a relationship,
+ the representation of the documents always include the links to related
+ data.
+
Link | +Description | +
---|---|
self |
+link to itself | +
first |
+link to the first page | +
last |
+link to the last page | +
rh:db |
+templated link for db | +
rh:coll |
+templated link for collection | +
rh:document |
+templated link for document | +
rh:filter |
+templated link for filtering | +
rh:sort |
+templated link for sorting | +
rh:indexes |
+link to the collection indexes resource | +
rh:paging |
+templated link for paging | +
curies |
+(compacts URIes) bind links to documentation. For instance the rh:db rel is documented at https://restheart.org/curies/2.0/db.html |
+
+ Default RESTHeart configuration binds /
to the database restheart
.
+
+ Being the most general case, the following table refers to the configuration exposing all MongoDB resources (/mongo/mongo-mounts[0]/what->'*'
)
+
Resource | +URI | +Notes | +
---|---|---|
Root |
+/ |
+The root resource is the API entry point. | +
Database | +/<db> |
+<db> is the database name. |
+
Database Metadata | +/<db>/_meta |
+Metadata associated to the database named <db> . |
+
Collection | +/<db>/<coll> |
+<coll> is the collection name. |
+
Collection Metadata | +/<db>/<coll>/_meta |
+Metadata associated to the collection named <coll> . |
+
Document | +/<db>/<coll>/<doc_id>[?id_type=TYPE] |
+
|
+
Bulk Documents | +/<db>/<coll>/*?filter=[filter expression] |
+The wildcard can be used for bulk updates; in this case the filter query parameter is mandatory, see Write Requests. |
+
Indexes | +/<db>/<coll>/_indexes |
+
|
+
Index | +/<db>/<coll>/_indexes/<idx_id> |
+
|
+
File bucket | +/<db>/<bucket>/.files |
+
|
+
File | +/<db>/<bucket>.files/<file_id>[?id_type=TYPE] |
+
|
+
Schema Store | +/<db>/<coll>/_schemas |
++ |
Schema | +/<db>/<coll>/_schemas/<schema_id> |
+<schema_id> is the _id of the schema. |
+
Aggregation | +/<db>/<coll>/_aggrs/<aggr_name> |
+<aggr_name> is the name of the aggregation (specified in it declaration, see Aggregations). |
+
Change Stream | +/<db>/<coll>/_streams/<stream_name> |
+<stream_name> is the name of the change stream (specified in it declaration, see Change Streams). |
+
type | +id_type | +
---|---|
ObjectId | +OID or STRING_OID* | +
String | +STRING** or STRING_OID* | +
Number | +NUMBER | +
Date | +DATE | +
MinKey | +MINKEY | +
MaxKey | +MAXKEY | +
Boolean | +BOOLEAN | +
null | +NULL | +
/db/coll/1 |
+ { "_id": "1" } |
+
/db/coll/1?id_type=NUMBER |
+ { "_id": 1 } |
+
/db/coll/1?id_type=DATE |
+ { "_id": { "$date": 1} } |
+
/db/coll/54f77f0fc2e6ea386c0752a5 |
+ { "_id": { "$oid": "54f77f0fc2e6ea386c0752a5" } } |
+
/db/coll/54f77f0fc2e6ea386c0752a5?id_type=STRING |
+ { "_id": "54f77f0fc2e6ea386c0752a5" } |
+
Enforce Atomicity, Consistency, Isolation and Durability with multi-document transactions.
+Handle hundreds of thousands of concurrent clients.
+Check the performance tests!
+