@mongodb-js/compass-import-export v7.23.1
Compass Import/Export Plugin
mongoimport and mongoexport functionality in Compass.
Development
After cloning this repository and running npm install
, you can try this plugin with a real MongoDB Server in electron by running:
DEBUG=mongo* npm start
Testing
npm test
Import Test Cases
See files in the ./test
directory.
TODO/Ideas
- Import: Move away from
state.fields
being array of objects to using all array's of strings. For now, there is some duplication of fields+transforms+excludes we'll come back to and fixup. - import-apply-type-and-projection supports nested dotnotation and only uses
state.importData.transforms
- Import and Export: New Option: If you need to specify extended-json legacy spec
- Import: bson-csv: support dotnotation expanded from
.
.<bson_type>() caster like mongoimport does today - Import: Preview Table: Use highlight.js, mongodb-ace-mode, or something so the text style of the value within a cell matches its destination type
- Export: Use electron add to destination file to recent documents
- Import and Export: Show system notification when operation completes. like dropbox screenshot message. toast "XX/XX documents successfully"
- Import: expose finer-grained bulk op results in progress -> "View Import Log File"
- Import: New Option: drop target collection before import
- Import: New Option: define import mode: insert, upsert, merge
- Import: New Option: specify a different path for
_id
such asbusiness_id
in the yelp dataset - Import: Option for path to pass to JSONStream for nested docs (e.g.
results
array when fetching JSON from a rest api) - Import: New Option: Paste URL to fetch from
- Import: Preview Table: use
react-table
andreact-window
for fixed headers and more # of documents to preview - Import: Preview Table: Allow transpose on fields/values so all type selection and projection is in a single left aligned list
- Import: Multi file import via archive (supports gzip/zip/bzip2/etc.)
- Import: Use schema parser or something later to handle complete tabular renderings of sparse/polymorphic
- Import: Improve import-size-guesstimator
- Import: guess delimiter in
src/utils/detect-import-file.js
- Import and Export: Extract anything from
./src/utils
that could live as standalone modules so other things like say a cli or a different platform could reuse compass' import/export business logic and perf. - Refactor src/modules/ so import and export reuse a common base
3 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
10 months ago
7 months ago
10 months ago
10 months ago
10 months ago
7 months ago
7 months ago
11 months ago
8 months ago
11 months ago
9 months ago
11 months ago
8 months ago
8 months ago
8 months ago
12 months ago
12 months ago
12 months ago
12 months ago
11 months ago
12 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago