Preamble

MongoDB Database – Having installed the DB, we can now add data to it. All data is stored in the DB in the BSON format, which is close to JSON, so we also need to enter data in this format.
And although we may not have a single collection at the moment, it is automatically created when we add data to it.
As mentioned earlier, the name of the collection is an arbitrary identifier consisting of no more than 128 different alphanumeric characters and an underscore.
At the same time, the name of the collection shall not start with the prefix system as it is reserved for internal collections (e.g. the collection system.users contains all database users). Also, the name shall not contain the dollar sign – $.
Three of its methods may be used to add to the collection:
- insertOne(): adds a single document
- insertMany(): adds several documents
- insert(): can add both one and several documents
So, let’s add one document:
> db.users.insertOne({"name": "Tom", "age": 28, languages: ["english", "spanish"]})
The document represents a set of key-value pairs. In this case, the document to be added has three keys: name, age, languages, and each of them is matched with a certain value. For example, the key languages are matched with an array as a value.
There are some limitations when using key names:
- The symbol $ cannot be the first character in the key name.
- The key name cannot contain the character of a.
When adding data, if we have not explicitly provided a value for the field “_id” (i.e. a unique document identifier), it is generated automatically. But in principle we can set this identifier ourselves when adding data:
> db.users.insertOne({"_id": 123457, "name": "Tom", "age": 28, languages: ["english", "spanish"]})
It should be noted that the key names can be used in quotes, or maybe without quotes.
If added successfully, the ID of the added document will be displayed on the console.
And to make sure that the document is in dd, we output it using the find function.
> db.users.find()

To print in a more readable form let’s add the pretty() method:
db.users.find().pretty()
If we need to add some documents, we can use the insertMany() method:
db.users.insertMany([{"name": "Bob", "age": 26, languages: ["english", "frensh"]},
{"name": "Alice", "age": 31, languages:["german", "english"]}])
After adding, the console displays the IDs of the added documents:

And the third method, insert(), demonstrates a more universal way to add documents. When it is called, the document to be added is also passed to it:
db.users.insert({"name": "Tom", "age": 28, languages: ["english", "spanish"]})
When it is called, the number of added entries is displayed on the console:
WriteResult({"nInserted" : 1 })
There is another way to add a document to the database, which includes two steps:
- the definition of the document (document = ( { … } )
- and the actual addition of the document:
If you want, you can also use db.users.find() function to verify that the document is in the database.

It may not be convenient for everyone to enter all key pairs and properties in one line. But the intelligent MongoDB interpreter based on javascript also allows you to enter multi-line commands.
If the expression is not finished (in terms of JavaScript), and you press Enter, the input of the next part of the expression will be automatically moved to the next line:

Loading data from a file
The data for the mongodb database can be defined in a regular text file, which is quite convenient because we can transfer or forward this file regardless of the mongodb database. For example, let’s define a users.js file somewhere on our hard drive with the following content:
db.users.insertMany([
{"name": "Alice", "age": 31, languages: ["english", "french"]},
{"name": "Lene", "age": 29, languages: ["english", "spanish"]},
{"name": "Kate", "age": 30, languages: ["german", "russian"]}
])
In other words, three documents are added to the user’s collection using the insertMany method.
To load a file into the current database, the load() function is used, in which the path to the file is passed as a parameter:
load("D:/users.js")
In this case, it is assumed that the file is located in the path “D:/users.js”.
MongoDB Tutorial: Insert Data Into MongoDB Database
Enteros
About Enteros
IT organizations routinely spend days and weeks troubleshooting production database performance issues across multitudes of critical business systems. Fast and reliable resolution of database performance problems by Enteros enables businesses to generate and save millions of direct revenue, minimize waste of employees’ productivity, reduce the number of licenses, servers, and cloud resources and maximize the productivity of the application, database, and IT operations teams.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Improving DevOps Productivity with AI-Driven Database Performance Insights
- 29 July 2026
- Software Engineering
Introduction DevOps has fundamentally transformed how modern enterprises develop, deploy, and maintain applications. By fostering collaboration between development and operations teams, organizations can deliver software faster, improve release quality, and respond more quickly to changing business needs. However, as applications become increasingly distributed across hybrid and multi-cloud environments, databases have emerged as one of the … Continue reading “Improving DevOps Productivity with AI-Driven Database Performance Insights”
How to Optimize Media and Broadcasting Operations with Enteros Database Software, Operational Intelligence, and AI-Powered Analytics
Introduction The media and broadcasting industry is experiencing unprecedented digital transformation. Traditional television, radio, publishing, and broadcasting organizations now operate alongside streaming platforms, over-the-top (OTT) services, digital news outlets, social media channels, podcasts, and on-demand entertainment platforms. Consumers expect instant access to high-quality content anytime, anywhere, and on any device. Behind every live broadcast, streaming … Continue reading “How to Optimize Media and Broadcasting Operations with Enteros Database Software, Operational Intelligence, and AI-Powered Analytics”
How Predictive Database Analytics Enables Smarter Capacity Planning
Introduction Enterprise databases are growing faster than ever. Organizations are processing millions of transactions, managing petabytes of data, and supporting mission-critical applications across hybrid and multi-cloud environments. Whether it’s a banking platform handling real-time payments, a healthcare application processing patient records, or an e-commerce platform preparing for seasonal traffic spikes, database capacity planning has become … Continue reading “How Predictive Database Analytics Enables Smarter Capacity Planning”
How to Optimize Logistics and Warehouse Operations with Enteros Database Software, AI-Powered Analytics, and Database Observability
Introduction The logistics and warehousing industry has become the backbone of the global economy. E-commerce growth, omnichannel retail, same-day delivery expectations, global supply chain complexity, and increasing customer demands require logistics providers to process millions of transactions every day with exceptional speed and accuracy. Whether managing warehouses, coordinating transportation, tracking shipments, optimizing inventory, or fulfilling … Continue reading “How to Optimize Logistics and Warehouse Operations with Enteros Database Software, AI-Powered Analytics, and Database Observability”