JsonQL NoSQL Embedded for Total.js Framework.
This will make you easier to use NoSQL Embedded in Total.js Framework.
$ npm install jsonql-totaljs
- Basic Query
const JsonQL = require('jsonql-totaljs');
// create new object jsonql
const jsonql = new JsonQL();
// build query
var q = [
{
select: {
fields:['user_id','name'],
from:'user',
where:[
['name','==','budi']
]
}
}
];
// with callback
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
// on top promise
jsonql.query(q).promise().then((data) => {
console.log(data);
});
- Multiple Query in Single Execution
var q = [
{
select: {
from:'user',
where:[
['name','==','wawan']
]
}
},
{
select: {
from:'profile',
where:[
['address','==','jakarta']
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Join Query
var q = [
{
select: {
from:'user',
where:[
['name','==','budi']
],
join:[
{
name:'profile',
from:'user_profile',
on:['id','id'],
first:true
}
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Join Nested
var q = [
{
select: {
from:'user',
where:[
['name','==','budi']
],
join:[
{
name:'profile',
from:'user_profile',
on:['id','id'],
first:true,
join:[
{
name:'additional',
from:'user_other',
on:['id','id'],
first:false
}
]
}
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Join Nested Manually
var q = [
{
select: {
from:'user',
where:[
['name','==','budi']
],
join:[
{
name:'profile',
from:'user_profile',
on:['id','id'],
first:true
},
{
name:'additional',
from:'user_other',
on:['id','id'],
first:false
}
],
nested:['profile','additional']
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Insert Single
var q = [
{
insert: {
into:'data_crud',
values:[
{
id:'1',
name:'aziz'
}
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Insert Multiple
var q = [
{
insert: {
into:'data_crud',
values:[
{
id:'1',
name:'aziz'
},
{
id:'2',
name:'tika'
}
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Update
var q = [
{
update: {
from:'data_crud',
where:[
['name','==','aziz']
],
set:{
id:'1',
name:'aziz alfian'
}
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Modify
var q = [
{
modify: {
from:'data_crud',
where:[
['name','==','aziz']
],
set:{
name:'M ABD AZIZ ALFIAN'
}
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
- Delete
var q = [
{
delete: {
from:'data_crud',
where:[
['name','==','aziz']
]
}
}
];
jsonql.query(q).exec(function(err,data) {
console.log(data);
});
For more detail in usage, please see the documentation in our Wiki.
All features has been tested, you also can learn how to use all features from unit test.
$ npm test