The following table shows the features of JayData and summarizes the feature availability for each provider and data service. There are many features under development and we have even more on the roadmap.
You can find not available features (marked with N/A), which aren’t feasable due to the limitation of the underlying datastore or data service.
Feature name/Provider | HTML5 local-Storage | SQLite WebSQL | WebSQL Pro | OData | ASP.NET WebAPI | IndexedDB | IndexedDB Pro | MongoDB | MongoDB Pro |
---|---|---|---|---|---|---|---|---|---|
Licence | MIT/GPL v3 | MIT/GPL v3 | Commercial/ 30day trial | MIT/GPL v3 | MIT/GPL v3 | MIT/GPL v3 | Commercial/ 30day trial | MIT/GPL v3 | Commercial/ 30day trial |
Price | Free | Free | $350 | Free | Free | Free | $350 | Free | $350 |
Compatible with JayData open-source library | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Compatible with JayData Pro library | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Total support hours for provider-specific questions | 0 | 0 | 4 | 0 | 0 | 0 | 4 | 0 | 4 |
Total number of apps for production, commercial or training purposes (**) | - | - | 3 | - | - | - | 3 | - | 3 |
Query Operations | |||||||||
filter() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
map() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
orderBy() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
orderbyDescending() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
Order by multiple colums | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
take() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
skip() | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
Grouping | SOON | SOON | SOON | SOON | SOON | SOON | SOON | SOON | SOON |
Having | SOON | SOON | SOON | N/A | N/A | SOON | SOON | N/A | SOON |
include/extend | SOON | YES | YES | YES | YES | SOON | SOON | YES** | YES** |
some() | YES | SOON | SOON | YES | YES | NO | YES | SOON | SOON |
every() | SOON | SOON | SOON | YES | YES | NO | YES | SOON | SOON |
inlineCount() | SOON | SOON | YES | SOON | NO | SOON | YES | YES | |
next() | YES | YES | YES | YES | YES | NO | YES | YES | YES |
prev() | YES | YES | YES | YES | YES | NO | YES | YES | YES |
contains() | YES | YES | YES | YES | YES | NO | YES | YES | YES |
startsWith() | YES | YES | YES | YES | YES | NO | YES | YES | YES |
endsWith() | YES | YES | YES | YES | YES | NO | YES | YES | YES |
length() | YES | YES | YES | YES | YES | YES | YES | YES | YES |
distance() – geo | N/A | N/A | N/A | YES*** | SOON | N/A | N/A | NO | YES |
intersects() – geo | N/A | N/A | N/A | YES*** | SOON | N/A | N/A | NO | YES |
Write operations | |||||||||
Insert | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Update | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Delete | YES | YES | YES | YES | YES | YES | YES | YES | YES |
addMany() | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Result operations | |||||||||
toArray | YES | YES | YES | YES | YES | YES | YES | YES | YES |
foreach | YES | YES | YES | YES | YES | YES | YES | YES | YES |
single | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
count | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
first | YES | YES | YES | YES | YES | YES** | YES | YES | YES |
JavaScript types | |||||||||
number | YES | YES | YES | YES | YES | YES | YES | YES | YES |
datetime | YES | YES | YES | YES | YES | YES | YES | YES | YES |
string | YES | YES | YES | YES | YES | YES | YES | YES | YES |
bool | YES | YES | YES | YES | YES | YES | YES | YES | YES |
object | YES | SOON | SOON | N/A | YES | YES | YES | YES | YES |
geography types | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Guid | YES | YES | YES | YES | YES | YES | YES | YES | YES |
array | YES | YES | YES | YES | YES | YES | YES | YES | YES |
$data.Day/Edm.Date | SOON | SOON | SOON | YES | SOON | SOON | SOON | SOON | SOON |
$data.Enum | SOON | SOON | SOON | YES | SOON | SOON | SOON | SOON | SOON |
Relation multiplicities | |||||||||
1..1 | YES | YES | YES | YES | YES | YES | YES | YES | YES |
1..N | YES | YES | YES | YES | YES | YES | YES | YES | YES |
N..M with 2x 1..N | YES | YES | YES | YES | YES | YES | YES | YES | YES |
Complex type mapping | N/A | N/A | N/A | YES | YES | SOON | SOON | YES | YES |
Transactions | NO | NO | YES | YES | NO | NO | YES | N/A | N/A |
Indexing | NO | NO | YES | NO | NO | NO | YES | NO | YES |
Batch/Multi-query | N/A | N/A | N/A | SOON | NO | N/A | N/A | SOON | SOON |
Schema generation from JS entity | YES | YES | SOON | N/A | YES | YES | N/A | N/A | |
JS Entity generation from schema | SOON | SOON | YES | SOON | SOON | SOON | N/A | N/A | |
Recommended max. records*** | 10 K | 5-600 K | N/A | N/A | 10K | 7-800 K | 1mil | 1mil |
YES: Currently available |
YES**: Operates with the help of InMemory provider |
YES***: Only with MongoDb Provider Pro |
M: Manual |
SOON: This feature will be supported in the future |
N/A: Not supported by the protocol |
* only with take |
*** applies only to commercial Pro providers |