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
Driving Cost-Efficient Innovation: Enteros Performance Management Platform for Accurate Technology Cost Estimation
- 15 December 2025
- Database Performance Management
Introduction The technology sector is at the epicenter of global innovation. From cloud-native applications and SaaS platforms to AI-driven analytics and real-time digital services, modern technology organizations operate in environments defined by speed, scale, and complexity. However, as innovation accelerates, so do operational challenges—particularly around performance management, cloud cost estimation, and financial predictability. Today’s technology … Continue reading “Driving Cost-Efficient Innovation: Enteros Performance Management Platform for Accurate Technology Cost Estimation”
Future-Ready Fashion Tech: How Enteros Combines Database Optimization and Cloud FinOps for Smarter Operations
Introduction The fashion industry has evolved far beyond seasonal collections and brick-and-mortar storefronts. Today’s fashion brands operate as highly digital, data-driven enterprises—powered by eCommerce platforms, global supply chain systems, AI-powered demand forecasting, personalization engines, and SaaS-based retail applications. At the heart of this transformation lies a complex web of databases, cloud resources, and analytics platforms. … Continue reading “Future-Ready Fashion Tech: How Enteros Combines Database Optimization and Cloud FinOps for Smarter Operations”
Precision Banking Operations: How Enteros Uses AIOps to Enhance Performance Management and Cost Estimation
- 14 December 2025
- Database Performance Management
Introduction The banking sector is at the center of a profound digital transformation. Core banking platforms, digital wallets, real-time payments, mobile apps, fraud detection engines, and regulatory reporting systems now operate on always-on, data-intensive infrastructures. As customer expectations for speed, reliability, and personalization rise, banks face unprecedented pressure to ensure flawless system performance, while simultaneously … Continue reading “Precision Banking Operations: How Enteros Uses AIOps to Enhance Performance Management and Cost Estimation”
Driving Retail Profitability: How Enteros Uses Cloud FinOps to Modernize Cost Attribution
Introduction The retail industry is operating in one of the most competitive and digitally demanding environments in history. Omnichannel commerce, dynamic pricing, real-time inventory visibility, personalized customer experiences, and AI-driven demand forecasting have become table stakes. Behind every seamless retail experience lies a complex web of cloud infrastructure, SaaS platforms, databases, and data pipelines. However, … Continue reading “Driving Retail Profitability: How Enteros Uses Cloud FinOps to Modernize Cost Attribution”