CRUD - aalfiann/fly-json-odm GitHub Wiki
CRUD in json array with fly-json-odm
.
Table of Contents
Example Data
Any CRUD below will use this example data json array.
var data2 = [
{id:1,address:'bandung',email:'[email protected]'},
{id:2,address:'jakarta',email:'[email protected]'},
{id:3,address:'solo',email:'[email protected]'},
{id:4,address:'solo, balapan',email:'[email protected]'},
{id:5,address:'surabaya',email:'[email protected]'}
];
var data2insert = [
{id:6,address:'madiun',email:'[email protected]'},
{id:7,address:'malang',email:'[email protected]'}
];
var data2update = [
{id:3,address:'solo',email:'[email protected]'},
{id:4,address:'solo, balapan',email:'[email protected]'}
];
var data2modify = [
{id:3,email:'[email protected]',about:'I was born in solo'},
{id:4,email:'[email protected]',about:'Balapan city is the best',located:'Central Java'}
];
Insert
var data = nosql.set(data2)
.insert({
id:6,
address:'madiun',
email:'[email protected]'
})
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Insert Multiple
var data = nosql.set(data2)
.insertMany(data2insert)
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Update
var data = nosql.set(data2)
.update('id',5,{
address:'ponorogo',
email:'[email protected]'
})
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Update Multiple
var data = nosql.set(data2)
.updateMany('id',data2update)
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Modify
var data = nosql.set(data2)
.modify('id',5,{
address:'ponorogo',
email:'[email protected]',
about:'Just ordinary programmer'
})
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Modify Multiple
var data = nosql.set(data2)
.modifyMany('id',data2modify)
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Delete
var data = nosql.set(data2)
.delete('id',5).exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Delete Multiple
var data = nosql.set(data2)
.deleteMany('id',[5,2])
.exec();
// test output
console.log(data);
// result
data2 = nosql.shallowClone(data);
console.log(data2);
Note
Update
,Modify
andDelete
operations infly-json-odm
is rely onunique key
for performance speed reason.insert()
,update()
,modify()
anddelete()
operations above is for single row data.update()
andmodify()
will act likeappend
so the order will be changed and make sure the id must be unique or your data table will be broken.updateMany()
andmodifyMany()
for multiple row data (support for single row data) and the order will not changed.- You are not allowed to use
setMode('shallow')
formodifyMany()
because multiple modify process required the object reference to keep the old data object. If we don't disable it, this will going to break your original data array.