How to import data from MongoDB to Magento 2
Let’s imagine a situation when you have a remote
Table of contents
Traditional Approach to Importing Data from MongoDB to Magento 2
Every time you need to transfer data from MongoDB to Magento 2 using the traditional approach, you have to do a series of different procedures. As in case of other databases, the MongoDB import process consists of three stages:
- Firstly, export a CSV file from the database.
- Secondly, perform attribute mapping.
- Thirdly, import the data file into Magento 2.
In addition to CSV, MongoDB allows you to create output in the JSON format, but it is not supported by default, so we will explore only the CSV export which can be run in multiple ways. Let’s examine all three steps in more details.
CSV Export from MongoDB
As we’ve just mentioned, there is more than one way to get the desired output out of a remote database. In this article, we’d like to draw your attention to two solutions. The first one incorporates native instruments of MongoDB, while the second solution is based on the use of a third-party app. As you might have already guessed, they are absolutely different, so let’s explore the first way of exporting a CSV file from MongoDB.
Export CSV File from MongoDB via mongoexport
Being a go-to tool for exporting data from MongoDB, mongoexport provides the ability to create two types of output – CSV and JSON. Due to the reason mentioned above, we are going to focus on the CSV export only. In our example, we will work with the following collection:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ _id: ObjectId("56685b53414f0983b63a8630"), title: "The Godfather", num_votes: 1072605, rating: 9.2, year: "1972", type: "feature", image: { url: "http://ia.media-imdb.com/images/M/MV5BMjEyMjcyNDI4MF5BMl5BanBnXkFtZTcwMDA5Mzg3OA@@._V1_.jpg", width: 333, height: 500 }, viewed: [ { name: "Brian", rating: 10 }, { name: "Tim", rating: 8 } ] } |
Let’s export a CSV that contains a title, year, and rating. Apply the following command:
1 |
mongoexport --host=host.example.com:port --db=samples --collection=movies -u user -p password --type csv --fields title,year,rating --out /opt/backups/films.csv |
where:
- –host is host and port;
- –db – database;
- –collection – collection
- -u – user;
- -p – password;
- –type – file format (CSV or JSON);
- –fields – exported fields;
- –out – the destination of the export file.
Check the full description of the CSV export from MongoDB in this tutorial:
Now, when you know the default way of exporting data from MongoDB to CSV, we’d like to draw your attention to a less complicated approach.
Export CSV File from MongoDB via Third-Party Tools
You can easily find several third-party utilities that substantially simplifies the MongoDB CSV export process described above. For instance, you can rely on Studio 3T to get the same output. Let’s see how the tool works.
In addition to CSV and JSON, Studio 3T supports BSON/mongodump. As for the CSV export, it consists of the following steps:
- Choose a server, database, or collection and right-click on it. Choose Export.
- Then, select the format – CSV.
- Now, you should configure CSV options. Click Next when everything is ready.
- Next, select fields you want to export from MongoDB to CSV.
- Specify file destination and proceed to the next screen.
- Finally, you can start the export procedure.
You must admit that Studio 3T dramatically simplifies the MongoDB export to CSV. You can not only get the desired output within just a few clicks but also configure multiple parameters of a CSV file in a much more efficient way than in the previous approach.
For further information about Studio 3T, check this post:
Mapping and Data File Editing
Finally, you have a CSV file with the desired information, but don’t be so happy because the most challenging stage is far from being left behind. We’ve just entered the terrible dimension of manual data file editing. What’s is, you will ask? Check a brief explanation below.
Unfortunately, the variety of systems leads to the range of data standards and the representation of this data within the system. Since there is no a unified standard for everyone, each platform generates output suitable to its inner requirements which are often unique. Consequently, such file can be only imported back to the system that produced it. To make it suitable to an external platform, you should match its native attributes to the attributes of that platform. As a result, manual data file editing is required.
So take the MongoDB CSV file, open it, and start matching the existing column names to the corresponding attributes of Magento 2. Note that it is impossible to move data from Magento 1.X to 2.X without performing the same procedure. Attributes matching looks quite innocent unless you have to deal with huge tables and regular updates. The more data you have to export, the more time is necessary to match attributes making the MongoDB CSV output suitable for Magento 2. You can spend hours of time doing that, but in case of an error, Magento won’t import a file. Consequently, you will have to start your work from the very beginning looking for the mistake.
If you are wondering if there is a better way to match attributes avoiding the aforementioned headaches, we have some goods news. You will find them further in this post. If you still want to know more about manual data file editing, check this guide: The Complete Guide to Magento 2 Product Import / Export. The article explains both import and export processes and describes the structure of a CSV file with its attributes and corresponding values.
MongoDB Data Import to Magento 2
Finally, you can import the MongoDB CSV file to your Magento 2 store updating it with the necessary information. The default Magento 2 import interface is enough to complete the process, but some third-party apps can fundamentally simplify it. For instance, with the Improved Import & Export Magento 2 extension, you can create a schedule of updates so that the module will import CSVs automatically on a regular basis.
It is also necessary to mention that you can face problems during the import stage. If you’ve matched attributes incorrectly, return to the previous step. Repeat the procedure until your CSV file will be polished to the state when all attributes satisfy Magento 2 requirements. Yes, this can be almost endless, but this is how the traditional approach to data import from MongoDB to Magento 2 looks. Now, let’s explore its user-friendly equivalent.
User-Friendly Approach to Importing Data from MongoDB to Magento 2
If you don’t want to deal with the complexity of the procedure described above, you’ve come to the right place. Once, we faced the difficulties of moving data from remote databases to Magento 2 and decided to provide the ecosystem with a tool that would completely change the game. Meet the Improved Import & Export Magento 2 extension. This module reduces the number of steps necessary to move data from MongoDB (and any similar systems) to Magento 2, revamps attributes matching, and increase the import speed. With our extension, you will forever forget about many headaches caused by the traditional approach to data import from MongoDB to Magento 2. Below, you can see the first significant advantage of our solution:
Direct MongoDB Connection
The Improved Import & Export extension allows you to establish a direct connection between Magento 2 and MongoDB. As a result, the use of data files is eliminated. Thus, you can forget about the first stage of the traditional approach to the import procedure. And it is no longer necessary to edit data files! You still have to match attributes but in a much more user-friendly manner. By reducing the first stage and optimizing the existing two steps, the Improved Import & Export extension becomes a great time-saver. And don’t forget about the opportunity to create schedules automating every update!
Mapping & Data Import from MongoDB to Magento 2
The import procedure related to our module is reduced to the following steps:
- Open Magento 2 admin and go to the import grid of Improved Import & Export.
- Create a new Import profile:
- Specify a schedule of updates;
- Select a file format and destination;
- Enable other features.
- Choose a database and a table you want to import.
- Map attributes.
- Start the update.
As you can see, the process of importing data from a remote MongoDB table to Magento 2 is substantially improved. You no longer have to export data files and edit them. Attributes matching is performed within your Magento admin in the interface of our extension. The Improved Import & Export Magento 2 module offers the most user-friendly and intuitive way to map third-party attributes to the attributes of Magento 2. Below, we shed light on this process describing its details. And don’t miss the opportunity to create a schedule of fully automated updates! Thus, you need to configure the connection between Magento 2 and MongoDB only once. All further tasks are performed by the Improved Import & Export Magento 2 extension. Let’s say a few words about MongoDB and then proceed to the functionality of our plugin.
Get Improved Import & Export Magento 2 Extension
MongoDB Features
Being an open-source, cross-platform document-oriented database program, MongoDB is classified as a NoSQL database program. As we’ve already mentioned, it uses JSON-like documents with schemas. At the same time, you can create a CSV output to perform the Magento 2 MongoDB import. The database includes the following features:
- Ad hoc queries with support for field, regular expression searches, and query ranges;
- Indexing for fields with primary and secondary indices;
- Replication – high availability with replica sets that consist of two or more copies of the data;
- Load balancing with horizontal scaling with sharding;
- File storage capabilities with load balancing and data replication features over multiple machines;
- Aggregation via MapReduce that also enables batch processing of data;
- Server-side JavaScript execution for queries, aggregation functions, and direct database execution;
- Capped collections that maintain insertion order and behave like a circular queue;
- Transactions are available starting from 4.0.0 Release Candidate.
You can find more information about MongoDB features here:
Improved Import & Export Magento 2 Extension
Now, we can focus more on the functionality of the Improved Import 7 Export Magento 2 extension. The core goal of our module is to enable the connection between Magento 2 and any external platforms in the most unobtrusive manner. There are many robust import/export tools, but none of them offers such extended capabilities as our solution. We not only provide extended connectivity options but also make every integration as simple as possible.
Supported File Formats
To extend the default capabilities of Magento 2, which works with CSV files, and offer something more robust than other competitors, which rely on XML, we’ve added support for such flexible file format as JSON. Now, you don’t need to convert files of this type to make them importable to Magento because of our module. Freely use the Improved Import & Export Magento 2 extension to upload JSON data from MongoDB to your store, but we still recommend establishing the direct connection. And you can fully leverage our module to migrate from Shopify, which rely on JSON files, to Magento 2.
It is also necessary to mention that the Improved Import & Export Magento 2 extension uses native Excel files for various internal purposes. Thus, it relies on XLS and XLSX files to complete specific procedures.
As for CSV, XML, and JSON, you can effortlessly import and export them to and from your e-commerce website, using our module. In comparison to the default Magento 2 import/export tool, the process is radically improved and optimized so that updates consume less time.
Supported File Sources
When it comes to a data migration via files, it is also necessary to emphasize the supported file sources. The Improved Import & Export Magento 2 extension shows some extra flexibility here especially in comparison with the default platform capabilities.
First of all, the plugin offers extended support for FTP/SFTP. It means that you can use your local server as a primary file source. Since this option doesn’t satisfy many external platforms, you can freely use a remote server instead of a local one. Although it is enough to establish most connections, we’ve decided to improve your life even more.
The second supported file source is Dropbox. Leverage the power of the cloud to move data to your store with the Improved Import & Export Magento 2 extension. The Dropbox integration is a little bit more complicated than FTP/SFTP, but it is fully described in the extension manual.
Contrary to the Dropbox integration, the Improved Import & Export Magento 2 extension provides the ability to import data files via URLs. You only need to specify the address of the file, and our module will upload it to the system. Note that all compressed files are unzipped/untarred automatically.
As you can see, our module offers much broader opportunities than the default import/export tool when it comes to transfers of data files. But it is just the beginning of the list of the competitive advantages. Below, we shed light on alternative ways of import and export that allows eliminating data files.
Alternative Ways of Import/Export
The user-friendly approach to importing data from MongoDB to Magento 2 provides the ability to avoid file transfers. It leads to lots of improvements: you not only spend less time on the migration but also eliminate manual file editing from the process. What other ways to import data are possible?
First of all, you can move information to Magento 2 from Google Sheets. The popular services are fully supported by the Improved Import & Export extension so that you can forever forget about data files. The process of data import from Google Sheets is illustrated below:
The second way to import/export information avoiding the use of files is based on REST API. Our module provides the ability to establish the connection between your store and any external systems with the help of this standard. Thus, even the most complex integrations are possible due to the extended functionality of the Improved Import & Export module.
Note that all features available for file transfers also work with Google Sheets and REST API integrations. Thus, you can easily map attributes and create schedules for both connection types. Below, you can see a more in-depth description of both features.
Scheduling
The Improved Import & Export Magento 2 extension fully supports cron. It means that you can create any schedule of updates fully automating every integration. The flexibility is limited by the standard cron syntax only. If you don’t want to deal with it, select one of the predefined values. Note that the provided intervals are fully customizable.
At the same time, the Improved Import & Export Magento 2 extension allows creating import/export profiles designed for a manual run only. Alternatively, you can leverage the same functionality with every scheduled process. For instance, the Magento 2 MongoDB data import is planned for tomorrow, but you need to update the system right now. Our extension provides the ability to start the data transfer manually in an asynchronous mode. Thus, you can create a fully automated queue of updates suitable for every integration.
Advanced Mapping Functionality
Another user-oriented feature of the Improved Import & Export Magento 2 extension is mapping. The corresponding element of our module dramatically improves the way you match external attributes to native Magento attributes and vice versa. The interface is suitable for file transfers, Google Sheets updates, and REST API synchronizations. It allows mapping only the necessary attributes in an unobtrusive manner. The complicated data file editing is reduced to the following simple process:
Moreover, we provide the ability to simplify it even more with the help of mapping presets. The Improved Import & Export Magento 2 extension offers an opportunity to apply pre-made mapping schemes so that mapping of the whole document is reduced to just a few clicks. The following gif image illustrates the procedure:
Please, contact our support regarding mapping presets for your particular integration. We are working hard to provide as many presets as possible, but the extension still lacks some of them. For further features of the Improved Import & Export Magento 2 extension, watch the following video and follow the link below.
As you can see, data import from MongoDB to Magento 2 can be substantially simplified with the help of our module. Note that it applies similar principles to other databases and external platforms. If you also want to transfer data from MongoDB to Magento 2 without any headaches, follow the link below and get your copy of the Improved Import & Export Magento 2 extension.
Get Improved Import & Export Magento 2 Extension