Coder Social home page Coder Social logo

mongodb-js / compass-import-export Goto Github PK

View Code? Open in Web Editor NEW
6.0 15.0 2.0 15.54 MB

Compass Import/Export Plugin

Home Page: https://mongodb-js.github.io/compass-import-export

License: Apache License 2.0

JavaScript 82.36% Shell 0.14% HTML 0.05% Less 17.44%
compass-plugin

compass-import-export's Introduction

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

You can also utilize Storybook when developing components:

npm run storybook;

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 as business_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 and react-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

License

Apache 2.0

compass-import-export's People

Contributors

a-tsvil avatar addaleax avatar alenakhineika avatar anemy avatar dependabot-preview[bot] avatar durran avatar gribnoysup avatar imlucas avatar lrlna avatar mcasimir avatar rose-m avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

compass-import-export's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.