-
-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to access indexes of nested arrays. #417
Comments
Work around is to just overwrite the entire inner array with the same information and only replace the information I want to update, but I'd rather just target the individual item in the nested array. |
@Belphemur I found this repo last night when researching small NodeJS NoSQL type databases. I found that this implementation was super cool, and will be using it for some small projects. I took a look through the "issues" section to see if there were any major problems, but didn't find much. Instead I found a possible feature to add to the project dealing with Nested Arrays. I spent today walking through the code, and figuring out how this project worked. I have completed the implementation of allowing the use of nested arrays. I am working on figuring out how to move the branch I created from the "nested-arrays" branch to the repository to create a PR. |
@sidblommerswork Any contribution is more than welcome :) I wanted to work on adding this feature, so all I did was making the tests first. I haven't made any other progress since that (so many other projects ^^'). I'll be happy to review your PR for this feature. The usual way in GitHub is to fork the project, push your change to your fork in your own "nested-arrays" branch then submit a PR for me to review and merge. |
Thanks! I will do that shortly. Thank you for providing the
information. :)
…On Sat, Jun 25, 2022, 8:33 PM Antoine Aflalo ***@***.***> wrote:
@sidblommerswork <https://github.com/sidblommerswork> Any contribution is
more than welcome :)
I wanted to work on adding this feature, so all I did was making the tests
first. I haven't made any other progress since that (so many other projects
^^').
I'll be happy to review your PR for this feature.
The usual way in GitHub is to fork the project, push your change to your
fork in your own "nested-arrays" branch then submit a PR for me to review
and merge.
—
Reply to this email directly, view it on GitHub
<#417 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AWKXHZ6RCS3GVB4GNZHUALTVQ6XNZANCNFSM5YLXECSQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
🎉 This issue has been resolved in version 1.6.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [3.0.0](v2.1.1...v3.0.0) (2022-09-09) ### Bug Fixes * **Array:** Add support for dash in array name ([b001403](b001403)), closes [#98](#98) * **Array:** Fix array not properly async ([7bfd98d](7bfd98d)) * **ArrayInfo:** Returns type of isValid ([d206098](d206098)) * **Array:** Support dot and number in name ([eb89a42](eb89a42)), closes [#95](#95) * **Concurrency:** Fix issue with concurrent push from different sources ([daae2bb](daae2bb)), closes [#484](#484) * **Config:** put proper default for ConfigWithAdapter ([dbb3b7b](dbb3b7b)) * **Convention:** Fixed quotes ([7126cad](7126cad)) * **Docs:** Be sure the doc contains Config ([c453c5d](c453c5d)) * **getIndex:** Improve documentation ([17ba435](17ba435)) * **HumanReadable:** Fix missing humanreadable ([4a2d198](4a2d198)) * **JsonAdapter:** Don't override the data property ([43898d5](43898d5)) * **Packaging:** Add type to package. ([983ea99](983ea99)), closes [#58](#58) [#57](#57) * **README:** Update documentation ([d66d712](d66d712)) * **README:** Update documentation ([ba42a83](ba42a83)), closes [#90](#90) [#85](#85) * **Separator:** Fix still using the slash as separator. ([c4c18b8](c4c18b8)) ### Features * **Adapter:** Add concept of adapter to read and write data ([9a31abc](9a31abc)) * **Adapter:** Let the user decide what adapter to use if they want to tweak the inner working ([975a653](975a653)), closes [#448](#448) * add some array utils ([c85618e](c85618e)) * **Array:** Add support for nested array ([57c049f](57c049f)), closes [#422](#422) [#417](#417) * **Async:** All the method are now async/await ([a6a4a8d](a6a4a8d)), closes [#171](#171) * **Async:** Make the whole library async ([b99d784](b99d784)), closes [#444](#444) * **AtomicFileAdapter:** Add support for fsync ([e4760cb](e4760cb)) * **Config:** Add Config file to setup the Database ([3915aee](3915aee)) * **Configuration:** Force giving a config object to the constructor ([8e415e6](8e415e6)) * **Date:** Add support for serializing and deserializing date type ([e62e792](e62e792)), closes [#362](#362) * **Exists:** Add exits method ([35152a2](35152a2)), closes [#19](#19) * **filename:** Support non json file extensions ([6be9a1d](6be9a1d)) * **Filter:** Add filtering feature ([0f7d276](0f7d276)) * **find:** Add find feature ([bd7ab4c](bd7ab4c)), closes [#17](#17) * **FSYNC:** Optional fsync when saving the database ([8ae82ab](8ae82ab)), closes [#372](#372) * **getIndex:** Support Numerical id ([d2e88ea](d2e88ea)) * **GetIndexValue:** Get index of a value in an array ([35d1807](35d1807)), closes [#191](#191) * **Packaging:** Use es6 module packaging ([4487c4b](4487c4b)) * **typing:** Add basic typing to the lib for TS ([db8ab77](db8ab77)) ### Performance Improvements * **Concurrency:** Be sure that only one read or one write can be done at the same time ([1cf0038](1cf0038)) * **Config:** Easier way to import the configuration of JsonDB ([e371b71](e371b71)) * **Errors:** Export errors for easier error management in other projects ([60c90f8](60c90f8)), closes [#479](#479) ### BREAKING CHANGES * **Async:** Every method of the library is now async and returns a promise. * **Configuration:** We now need to receive the JsonDBConfig object in the constructor * **Packaging:** The default export has been removed. You need to do a deconstruction import to load the library now. import JsonDB from 'node-json-db' becomes import {JsonDB} from 'node-json-db'
🎉 This issue has been resolved in version 3.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [1.0.0](v0.7.3...v1.0.0) (2022-09-09) ### Bug Fixes * **Array:** Add support for dash in array name ([b001403](b001403)), closes [#98](#98) * **Array:** Fix array not properly async ([7bfd98d](7bfd98d)) * **ArrayInfo:** Returns type of isValid ([d206098](d206098)) * **Array:** Support dot and number in name ([eb89a42](eb89a42)), closes [#95](#95) * **Concurrency:** Fix issue with concurrent push from different sources ([daae2bb](daae2bb)), closes [#484](#484) * **Config:** put proper default for ConfigWithAdapter ([dbb3b7b](dbb3b7b)) * **Convention:** Fixed quotes ([7126cad](7126cad)) * **Docs:** Be sure the doc contains Config ([c453c5d](c453c5d)) * **getIndex:** Improve documentation ([17ba435](17ba435)) * **HumanReadable:** Fix missing humanreadable ([4a2d198](4a2d198)) * **JsonAdapter:** Don't override the data property ([43898d5](43898d5)) * **Packaging:** Add type to package. ([983ea99](983ea99)), closes [#58](#58) [#57](#57) * **README:** Update documentation ([d66d712](d66d712)) * **README:** Update documentation ([ba42a83](ba42a83)), closes [#90](#90) [#85](#85) * **Separator:** Fix still using the slash as separator. ([c4c18b8](c4c18b8)) ### Features * **Adapter:** Add concept of adapter to read and write data ([9a31abc](9a31abc)) * **Adapter:** Let the user decide what adapter to use if they want to tweak the inner working ([975a653](975a653)), closes [#448](#448) * add some array utils ([c85618e](c85618e)) * **Array:** Add support for nested array ([57c049f](57c049f)), closes [#422](#422) [#417](#417) * **Async:** All the method are now async/await ([a6a4a8d](a6a4a8d)), closes [#171](#171) * **Async:** Make the whole library async ([b99d784](b99d784)), closes [#444](#444) * **AtomicFileAdapter:** Add support for fsync ([e4760cb](e4760cb)) * **Config:** Add Config file to setup the Database ([3915aee](3915aee)) * **Configuration:** Force giving a config object to the constructor ([8e415e6](8e415e6)) * **Date:** Add support for serializing and deserializing date type ([e62e792](e62e792)), closes [#362](#362) * **Exists:** Add exits method ([35152a2](35152a2)), closes [#19](#19) * **filename:** Support non json file extensions ([6be9a1d](6be9a1d)) * **Filter:** Add filtering feature ([0f7d276](0f7d276)) * **find:** Add find feature ([bd7ab4c](bd7ab4c)), closes [#17](#17) * **FSYNC:** Optional fsync when saving the database ([8ae82ab](8ae82ab)), closes [#372](#372) * **getIndex:** Support Numerical id ([d2e88ea](d2e88ea)) * **GetIndexValue:** Get index of a value in an array ([35d1807](35d1807)), closes [#191](#191) * **Packaging:** Use es6 module packaging ([4487c4b](4487c4b)) * **typing:** Add basic typing to the lib for TS ([db8ab77](db8ab77)) ### Performance Improvements * **Concurrency:** Be sure that only one read or one write can be done at the same time ([1cf0038](1cf0038)) * **Config:** Easier way to import the configuration of JsonDB ([e371b71](e371b71)) * **Errors:** Export errors for easier error management in other projects ([60c90f8](60c90f8)), closes [#479](#479) ### BREAKING CHANGES * **Async:** Every method of the library is now async and returns a promise. * **Configuration:** We now need to receive the JsonDBConfig object in the constructor * **Packaging:** The default export has been removed. You need to do a deconstruction import to load the library now. import JsonDB from 'node-json-db' becomes import {JsonDB} from 'node-json-db'
My data is formatted in the following manner:
When trying to update any item in either the first or second nested array, you get the following error:
'Only numerical values accepted for array index'.
This code works to access the outer array, but it's not possible to access the inner arrays:
scheduleDB.getData('/schedules[1]')
Code I used for trying to update the third item in the first inner array.
scheduleDB.push('/schedules[1][2]', 'Inactive', True)
The text was updated successfully, but these errors were encountered: