{"_id":"j-db-core","_rev":"5-45c330fa0cf9d396b9039f3e73cdb2f2","name":"j-db-core","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"j-db-core","version":"1.0.0","description":"NexGen NoSQL DB","main":"j-db.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"keywords":["node","npm","javascript","nosql","db"],"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"license":"ISC","homepage":"https://github.com/m-sparrow/j-db","gitHead":"b8b628bca72ff5f0356b7ccc3be8bc6855e59aab","bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"_id":"j-db-core@1.0.0","_nodeVersion":"13.8.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-v8oXr2aJXU+S/G9lhT9+eQ8+18HbuTuMAz7HPVwBhgV+/1Mwz6rRIVeUMyibSDCIAT6o4Kna8H/t4nmyrTGhmA==","shasum":"e4e472836d8a3dd43aba9bae264fb5e230ac736c","tarball":"https://registry.npmjs.org/j-db-core/-/j-db-core-1.0.0.tgz","fileCount":10,"unpackedSize":15306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefvKbCRA9TVsSAnZWagAA/NsP/imHA2c2uadhoVOxmiaB\nwE3U8UDBaueCUL/GHK0ht4znOT+4Em1hyvwdp1RdJSrt97YjFOGvXi3jwcju\nbAD9v/D8p+9QbMMTr/sUIobbY0eVxa6UPBGkkyxZmpslXMAgvJTBOqHqPser\n9MRW0P0fyEx/mCfm2UVknkqcWbT9yQu1qkc689RPqjJ9+saZRp/dX5uUeyFp\nQvEifrzn1wnGE2gFzJGSr/96r+eA10ENvXDozxi9MKLdg/nMgSxFTa8se4ih\nLsJqoTB7GsnmciYwKBkdLvz4nIEHHHZwmHkpKK++VMbuayaW6kZRjKX9Cv0N\n3+LtP3QMQGV9ld/nwiq/VJuyJySxCQzuyhSSBzm0mzeulDN1vIOUALlg5Q7K\neuZjGSACpiMmK4OoYp3mtPiXBX6Hi7+938Sf/lfqDcktqIo4d8xeLB13205Y\nPBwxVpWSctzuUSAQ00Ss0H2a6ndeiYdQBB0sTQgtnb2Y/laYNnRU292v2r/2\nvbiSHERRgDOhfbEnR/OAx/OCoNOBlA+7MptoaDSvF65HgvMHNfWdIhKXKbiL\nj08eo40jz6IhLAPZbIdO+0gOOyv6lM1S/VNggsKwVdbSsKjAkPV20dySGWkn\nYGY1HhFB+tWk3wkUrGDXQiVqIni1qOm3XF2eoZ/6VHEM858BQKg2Eg6mPzaf\ngQMl\r\n=o3AS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDp9YPPFIadgaWjYxV9uYJ/2dJ94zdlDPIEv3yUkvjskQIgWVJKIuOfmQ7LcKs+W+6oUQEChgL3yMp/X5pdWiPnuG0="}]},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"_npmUser":{"name":"jackie06","email":"hari.tinyblitz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-db-core_1.0.0_1585377946779_0.9295506594193355"},"_hasShrinkwrap":false},"1.0.1":{"name":"j-db-core","version":"1.0.1","description":"NexGen NoSQL DB","main":"j-db.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"keywords":["node","npm","javascript","nosql","db"],"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"license":"ISC","homepage":"https://github.com/m-sparrow/j-db","gitHead":"f9688d01586a66ef4ea2f2be5d2bb7456c69adf1","bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"_id":"j-db-core@1.0.1","_nodeVersion":"13.8.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-erxTsDj2khOPjdA6mzTqjl1uMsCWQPKtZcOo0u9dGzk8sl//B+BxbaLKJOul5U3HPTt7bFyMQkUNUZFf7TxHdw==","shasum":"9ab80147444d3dc8f0ebcc2b66bc4072f8eae293","tarball":"https://registry.npmjs.org/j-db-core/-/j-db-core-1.0.1.tgz","fileCount":10,"unpackedSize":15323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefvO/CRA9TVsSAnZWagAAXO0QAJmK8HefB3g1ELMG2CRg\nAna3sYdsBNGq2bu6W1cuseF9Jwjm5yzaol5NqRc45G3BKkG2dVYqJg1mLKWv\nB21zlJETHnimudM8LTVJVhl0MMUqt2zY+OW5gZjS55FeGov1/K9cnxvgrJzJ\nmuIAsigh1J0y9tE0ln5Aj0SqtWNg+KlIvFw84G5ArH9rhBzo/fjz6pLWOmJm\nUes33SFgxcTsuecHKuBPqHmiWw4YNPy6Az4yz1z5NGGZmwxkv4zF1NNJo1V5\n9Vvpw+Qe+p5GnEdzrl1eiFdxHmpkpCtMlLAHd4HyvMBma9hogQVYlh4HHdRx\nXHYOR0aESinM2Q72778L3OmikQWcS4GpozBS+ILz5xA78PIqT9KZ7k6IBMo6\nySf7NtCOGaRl9PvX/ulqVv2yP+8aN4VplPbKMQ3V4b7xeEcCsgMo2WYqC8s9\nQofu5xYq4inpBIikDAbnSstciZ3oAK2hArnyKEq2mA7URWNXqkaOTSgmEKK+\nxjGrDXzbV1JTC27Dipf+Z29W35ov8jmaA7FK642iQbKL5EEHk7JRsRHEIHCM\nGUiM9yu14UYCMdEQiPpkbk/uhMl7uXUdwDEJmA5my126ZjeUcHLfz9e92ze+\nHYLOPUzoqKcIW+HOpzW2hLSJLSJHVPBk19vMrX3VjfJjRc+054/toLbwVI3a\nfmA/\r\n=ID/u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICuYg2Ta0OILyZ0TB92kmJkZgiUpgnDEi3k5rbNJ2c5FAiB6RDjSGiS8ooKQRnWkk8FtMMKFMgPNd+wD7O295uLvtQ=="}]},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"_npmUser":{"name":"jackie06","email":"hari.tinyblitz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-db-core_1.0.1_1585378238906_0.32559699327139335"},"_hasShrinkwrap":false},"1.0.3":{"name":"j-db-core","version":"1.0.3","description":"Hackable NoSQL DB","main":"j-db.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"keywords":["node","npm","javascript","nosql","db"],"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"license":"ISC","homepage":"https://github.com/m-sparrow/j-db","gitHead":"94885f2e0e075cef9b7637656cc2481082ded870","bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"_id":"j-db-core@1.0.3","_nodeVersion":"13.8.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-6JoOmywWpeDAJnbW49YA0XjLHnjivf1Q6G0kI5MbzEeRMIKvoGaI/y03h0+NVZj3rXLd/UlavWkbUjIiRapAxg==","shasum":"e3313162be8fee09d43f5904129aaae17e55e2cb","tarball":"https://registry.npmjs.org/j-db-core/-/j-db-core-1.0.3.tgz","fileCount":10,"unpackedSize":21114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef1H2CRA9TVsSAnZWagAAe20QAIGq0cVHXeHMMm3EXU2v\nfYjRV2SwCGzV3skA4Dxoi0Os/sAKenREKe4nu+adW/SXxZMUDDxE12gcdm2+\nKkqZkFYREkRrnd7r+SdwmqtHpofXobDCwLdYlkUGzerbwO3JMb7lHoRr3ndj\n78ECkwitAc7c+jTH2yPeVBw5hk8iTiAohZW3ol+zIt0OQQQlGPTgg+LitCvj\nNYZI6AVkGSUHHgIht0Yj1/tuJrBCqQXQCTI3hqIDFXdCSqwHbl3KYIN5/M4Y\n5mqDcrq8kceFChO7QF9EeZUhhxHLSMDyxdJhrjqr/ayfIDkMQN1C1jRHSVpD\n4h9joqbt+DSxRTD+Zt2yQQ2D0ji5WodIB4qQStPxQPRbZqJSm/bF+WVQFXWw\nwWfXJ4/CAo64YTRhdAY9qT2xFbCQcnefa9jrcQXyKwkzPzQgKPu7pnVfOWaK\nJICEaLrQS9M9+YdZYuovPymjE+l75eliWnk3rS5jKyyTPgTN/TJ7AbegWN5M\n16V5k/AZfvKhWUtvcRk24+G52QqJy368hRwP8ncqx1bhJgKamOPHgl1JD43z\nA4qIBZkPZLqqT7E7ARL22VthV3wryMSjJfdZ5gCZv1WZT3qkgHXoHxaN3Usu\n6ErzSts0R2o3JLu7pJu7ipqXSzTfbN1yFFQMk2T4jZoB/mC9MjxHLrm88AlC\nHJUK\r\n=Rqmt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh5ay8U8cGxgHhEpYguqfK77HGl/prOPTos99eUxWu7AIgSKWT1IUfJTdE3a1rhRKHKGZ8pQhnvm1kSJKlmJF9jyU="}]},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"_npmUser":{"name":"jackie06","email":"hari.tinyblitz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-db-core_1.0.3_1585402358429_0.521220005106825"},"_hasShrinkwrap":false},"1.0.4":{"name":"j-db-core","version":"1.0.4","description":"Hackable NoSQL DB","main":"j-db.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"keywords":["node","npm","javascript","nosql","db"],"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"license":"ISC","homepage":"https://github.com/m-sparrow/j-db","gitHead":"11a7c6b472fdfbc01ab87cdb5e78ba6119292ebb","bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"_id":"j-db-core@1.0.4","_nodeVersion":"13.8.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-AVME6tyORenikhFRx9dGbO5p+hfm84WcUX5H64aTJLSBQAqdd7TZrNvtIPP8culr7sfvKwV+id7fCd7/bHEtFA==","shasum":"7dbbfe9848a5ed585fd2e29b4fc53f53bed12b57","tarball":"https://registry.npmjs.org/j-db-core/-/j-db-core-1.0.4.tgz","fileCount":10,"unpackedSize":21113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJef1k0CRA9TVsSAnZWagAAWlUP/iXAlzuRDpYY8ryFSjWy\nj7wTiTEfEchlr/j5ZkQVJs6H9pzpsOsVoXHRCv+7JGCrJwienDURKiumM5Bs\nHEu7xV2DZG4I2VQaZL0EcFWcJIR+TH5xLWAb67JUQFES05TV4kSkFyLNZg/h\nCxSDO6yJMS3CYanKJ4gZp4Qmz+GliF1bLexNco8qGdYanYNPODzsWP2FMSgm\n9iE8z8IjyIeQq53qWxQrFm+Ip1X30L34sIQvYtPCzOEpBsQ7KuBYbyntk46s\nt55MQ4vqlcvj7xMSrgHXxrmzMCOIzlq8+Ic0ISPEEpDZx++Uiv4w5Z1P3xAw\nLRmcLQf9/yQL6O+ilJxHXiTYtijQg0gGRV18Ww/FIxRAuyWZzujfHOrNmDKf\nvUVUGbnHrJ1erurY3GmErtX0fwYKWjiKVzHQ4IrJ0tYH76P40KmLKFe26nS0\nVs2UaZstD4242aqgKhHfwuuTsfkpNW+bKQUc3E5Jz49Nfnp/oMjIpoYfd7/b\ntHyxCVbf+0XDX5zwOVFOyOB44FtMCMutSznolxrQH6WXJXmitgGbeRoSGB1T\n8NxEwABMz11YEu3KVKr7UVGpa2+U1bB3Qt0nqHQv8TEk6Qy9PFZCCXrN9dmv\niUA3o1U3wMRp+Qz4/9Jl/2TREpE1O+h+fNotL0V9VmFGOSR/3PUYdNzifhvv\n3aoh\r\n=8bLm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgEc2Os+JNz6lWgk631DOfuiyl/i7gOVUKLrK7T8xWEAiBFxOVkTb9ceE+cGkY0ibGAZzWf9rhMKp7ojjofDbjlpQ=="}]},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"_npmUser":{"name":"jackie06","email":"hari.tinyblitz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-db-core_1.0.4_1585404211527_0.8874424185778824"},"_hasShrinkwrap":false},"1.0.5":{"name":"j-db-core","version":"1.0.5","description":"Hackable NoSQL DB","main":"j-db.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"keywords":["node","npm","javascript","nosql","db"],"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"license":"ISC","homepage":"https://github.com/m-sparrow/j-db","gitHead":"e45f1b5286c45d795920fa59293fd84e370b1df3","bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"_id":"j-db-core@1.0.5","_nodeVersion":"13.8.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-iJ0U39d5VGsz6nqF118RrqFJTWVs/cHcqM7agMfC2Ntqsbt5YBLKDpWBFOK2uJ1G0F+KAxqPfxOfRNZERgtERg==","shasum":"69d3dbe8bb1ce66747ab4226d512c10c3acb71ab","tarball":"https://registry.npmjs.org/j-db-core/-/j-db-core-1.0.5.tgz","fileCount":10,"unpackedSize":23883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegGZiCRA9TVsSAnZWagAAkcsP/A/cD6VZSjDaVOCiapSD\nAa2pHOIePwMpIXQ52sFz3xxiW4WFXXT63dusMNEtwrnWncAAY6yfjMiiL8fs\nyO1YrZ69Dcm1Aswz3eDGscm0JEeljFkEsi48/S2tTW/woYrHg01rMA/lYG1Z\nEVh9OzlLiFm7W8XmNucYyV6DdCmy1Hxwd3ooD9V5LtmFQh4uDUKbtDvnfPPr\nMo5zveLa0HOn+n4QUErnassk3L4J7C+aOW0wGjkjH3CWS45mQeNBkELIsAMR\nt/1IRWN8+jJVrVNe6nCEcR4RqNZNxZ5BHhzRRHahxThRWm1xh1NTjSfemvIt\n6ldEtEfPD3RYG3eG/IEEEj8NixBYfHnDetRwmrWKRu5UPMVdLPVf5rYsdssV\nUAs8Vudew3VTH4i9iB32U8xisYvHtJYx3vlcrTq0SYCUMlwyKcOkYrIUNCPY\nsCvf50ZMFtBNfMmhbm35hTe5QZTVjqz6rks1pbFUMrEuKnMREfihVyKE+a1T\nQyC0Geo9eWry9mQ1xbBQIPTL0giADw2z3S2IaekFyXtUP1QhxTLi2T2KR+VC\nsprw0OfJvwuLIYsEfy9brvJUiQzG69yJv1K1jhaB+aZxSu+/3QIIf2YJCLXV\njICDy9KUiz9jlOH3UXuKxqVfVJlmNTxqujJvojptKVhAbBmES2cxQeUx0/9I\nTiH3\r\n=HpU7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqZog1Hl9Y3Cm7cf4+DH7U7AHyvz3oTqr93URa6Pwh0QIhALxOhW/EFRCw8Tl7qGcHXDyp9lji7Ll7vpcGbLfBkoIs"}]},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"_npmUser":{"name":"jackie06","email":"hari.tinyblitz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-db-core_1.0.5_1585473121734_0.9515369326426593"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-28T06:45:46.779Z","1.0.0":"2020-03-28T06:45:46.911Z","modified":"2022-05-06T08:58:50.740Z","1.0.1":"2020-03-28T06:50:39.007Z","1.0.3":"2020-03-28T13:32:38.568Z","1.0.4":"2020-03-28T14:03:31.662Z","1.0.5":"2020-03-29T09:12:01.892Z"},"maintainers":[{"name":"jackie06","email":"hari.tinyblitz@gmail.com"}],"description":"Hackable NoSQL DB","homepage":"https://github.com/m-sparrow/j-db","keywords":["node","npm","javascript","nosql","db"],"repository":{"type":"git","url":"git+https://github.com/m-sparrow/j-db.git"},"author":{"name":"Sree Hari","email":"hari.tinyblitz@gmail.com"},"bugs":{"url":"https://github.com/m-sparrow/j-db/issues"},"license":"ISC","readme":"# j-db\nj-db is a hackable NoSQL DB based on raw file system. j-db basically consists of a **Partition Key**, within Partition Key any number of **Secondary Partition Keys** and finally **Item**. In simpler terms, data is stored in the form of a tree. With such a design it is aimed to achieve the performance **O(1)** at any scale for create, fetch, update and deletion of Items.\n\n```\nPartition Key - String\nSecondary Partition Keys - String\nItem - JSON document\n```\nj-db acts as a core engine which is so flexible can be embedded into an existing application. [Cli tool] (https://github.com/m-sparrow/j-db-cli) and [API version] (https://github.com/m-sparrow/j-db-api) is also available as per the requirement. Cli tool is used to interact directly while with API version you can interact with the DB over Restful web services. Please look into the respective repositories for detailed documentation.\n\n## NPM Install\n```\nnpm i j-db-core\n```\n\n## Syntax\n\n###### Create DB\nCreate new DB using the below\n```\ncreateDB (dbName)   \n\n#dbName - String    #Ex: MyDB\n\n```\n\n###### Fetch list of DBs\nThis method returns the list of databases.\n```\nlistDBs ()\n```\n\n###### Create Table\nThis methos is used to create a new table.\n```\ncreateDB (dbName, tableName, schema)   \n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#schema - JSON\n    {\n      \"pk\": \"pk1\",\n      \"sk\": {\"0\": \"sk1\", \"1\": \"sk2\"}\n    }\n```\nThe value of \"pk\" must be a String while \"sk\" must be a map with keys as Integers starting from 0 .... n and values as String.\n\n###### Fetch list of tables\nThis method returns the list of tables in the given DB\n```\nlistTables(dbName)\n\n#dbName - String        # Ex: MyDB\n```\n\n###### Scan table keys\nThis method is used to scan the list of partition keys and secondary partition keys in the given table.\n```\nscanKeys (dbName, tableName, keys)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#keys - String          # Ex: pk1?sk1?....?skn\n\n```\nkeys acts a cursor delimited with \"?\". This method returns \"pk\" or the list of \"sk\"s as per the given cursor.\n\n###### Fetch Table metadata\nThis method is used to get the metadata of the given table.\n```\ngetTableMetadata (dbName, tableName)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n```\n\n###### Table - Put Item\nThis method is used to create new Item in the table.\n```\nputItem (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\":{\n         \"pk\" : \"pk\",\n         \"sk1\":\"sk1-1-value\",\n         \"sk2\" : \"sk2-2-value\"\n      },\n      \"item\":{\n         \"Key1\":\"Value1\",\n         \"Key2\": \"Value2\"\n       }\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Item is mandatory and can be any valid JSON document.\n\n###### Table - Get Item\nThis method is used to fetch an Item from the table.\n```\ngetItem (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\":{\n         \"pk\" : \"pk\",\n         \"sk1\":\"sk1-1-value\",\n         \"sk2\" : \"sk2-2-value\"\n      }\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory.\n\n###### Table - Get Item at a particular position\nThis method is used to get\n```\ngetItemAt (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\": {\n         \"id\": \"id1\",\n         \"sk2\": \"sk2-2-value\",\n         \"sk1\": \"sk1-1-value\"\n       },\n       \"path\": \"attr1?attr2?attr3#2?attr4\"\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Path is also mandatory, Path acts as a cursor to specify the position of the attributes in the Item. \"?\" is used as a delimiter to traverse through the JSON object while \"#\" is used to specify the element index if it is an array.\n\n###### Table - Update Item\nThis method is used to get\n```\nupdateItem (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\": {\n         \"id\": \"id1\",\n         \"sk2\": \"sk2-2-value\",\n         \"sk1\": \"sk1-1-value\"\n       },\n       \"path\": \"attr1?attr2?attr3#2?attr4\",\n       \"obj\": \"value-to-be-updated\"\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Path and Obj is also mandatory. \"?\" is used as a delimiter to traverse through the JSON object while \"#\" is used to specify the element index if it is an array.\n\n###### Table - Update Item\nThis method is used to update an existing Item in the table.\n```\nupdateItem (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\": {\n         \"id\": \"id1\",\n         \"sk2\": \"sk2-2-value\",\n         \"sk1\": \"sk1-1-value\"\n       },\n       \"path\": \"attr1?attr2?attr3#2?attr4\",\n       \"obj\": \"value-to-be-updated\"\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Path and Obj is also mandatory. \"?\" is used as a delimiter to traverse through the JSON object while \"#\" is used to specify the element index if it is an array.\n\n###### Table - Delete Item\nThis method is used to delete an Item in the table.\n```\ndeleteItem (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\":{\n         \"pk\" : \"pk\",\n         \"sk1\":\"sk1-1-value\",\n         \"sk2\" : \"sk2-2-value\"\n      }\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory.\n\n###### Table - Add an Element to an existing Item\nThis method is used a new attribute or array value to an existing Item in the table.\n```\naddItemElement (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n      \"keys\": {\n         \"id\": \"id1\",\n         \"sk2\": \"sk2-2-value\",\n         \"sk1\": \"sk1-1-value\"\n       },\n       \"path\": \"attr1?attr2?attr3#2?attr4\"\n       \"tag\": \"tag\"\n       \"obj\": \"value-to-be-added\"\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Path and Obj is also mandatory. \"?\" is used as a delimiter to traverse through the JSON object while \"#\" is used to specify the element index if it is an array. Tag is mandatory if the new element is an object (key-value) and optional if the new element is added to an array.\n\n###### Table - Remove an Element from an exiting Item\nThis method is used to remove an attribute or array value from an existing Item in the table.\n```\nremoveItemElement (dbName, tableName, options)\n\n#dbName - String        # Ex: MyDB\n#tableName - String     # Ex: MyTable\n#options - JSON\n    {\n       \"keys\": {\n          \"id\": \"id1\",\n          \"sk2\": \"sk2-2-value\",\n          \"sk1\": \"sk1-1-value\"\n        },\n        \"path\": \"attr1?attr2?attr3#2?attr4\"\n    }\n```\nKeys (Partition Key and all Secondary Partition Keys) are mandatory. Path is also mandatory. \"?\" is used as a delimiter to traverse through the JSON object while \"#\" is used to specify the element index if it is an array.\n","readmeFilename":"README.md"}