[COMPASS-6521] Support extended json in CSV fields when importing Created: 14/Feb/23  Updated: 24/Apr/23  Resolved: 11/Apr/23

Status: Closed
Project: Compass
Component/s: Import/Export
Affects Version/s: None
Fix Version/s: No version

Type: Task Priority: Major - P3
Reporter: Le Roux Bodenstein Assignee: Le Roux Bodenstein
Resolution: Done Votes: 0
Labels: milestone-5
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to COMPASS-4418 Compass has no good way to import arr... Closed
is related to COMPASS-5763 While importing csv file there is no ... Closed
Epic Link: COMPASS-5576
Story Points: 2
Documentation Changes: Not Needed

 Description   

mongoexport stringifies arrays and objects. We could have heuristics to detect [ and { at the first and last char of a string (if that condition matches, then try and parse it) and we add an extended json type to the field type dropdown during CSV import.

This is a stretch goal and to be completed later in the epic.



 Comments   
Comment by Githook User [ 24/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: COMPASS-6530-auto-add-curly-braces
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Comment by Githook User [ 21/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: 1.36-releases
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Comment by Githook User [ 12/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: COMPASS-6655-sort-use-case
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Comment by Githook User [ 11/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: COMPASS-6676-support-for-stage-wizard-in-stage-editor-store
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Comment by Githook User [ 11/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: COMPASS-6577-add-export-modal
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Comment by Githook User [ 11/Apr/23 ]

Author:

{'name': 'Le Roux Bodenstein', 'email': 'lerouxb@gmail.com', 'username': 'lerouxb'}

Message: feat(export): exportCSV() COMPASS-6428 COMPASS-6521 COMPASS-6637 (#4219)

  • factor out common export types
  • exportCSV()
  • WIP
  • tests, fixes
  • fix for dataService changes
  • the objectId error changed
  • Update packages/compass-import-export/src/export/export-csv.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rename exportCSV
  • remove TODO I'm not going to do
  • Update packages/compass-import-export/src/import/import-types.ts

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • Update packages/compass-import-export/test/docs/all-bson-types.js

Co-authored-by: Rhys <Anemy@users.noreply.github.com>

  • rm comment
  • Symbol is deprecated.
  • add comment
  • relaxed: false so that we can support BSONSymbol
  • test exporting an empty collection
  • test exporting md5 fields
  • fill out missing tests
  • relaxed: false so that numbers can't lie
  • I guess the safest, most viable way to export binary data is to base64 encode it
  • debug
  • more specific error check
  • os-specific newlines in log files
  • fix screenshots for CSFLE tests

---------

Co-authored-by: Rhys <Anemy@users.noreply.github.com>
Branch: main
https://github.com/mongodb-js/compass/commit/f9860daa2dcaae9385f03c56030911f159d0c9fd

Generated at Wed Feb 07 22:43:26 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.