Python MongoDB - insert_one Query
MongoDB is a cross-platform document-oriented and a non relational (i.e NoSQL) database program. It is an open-source document database, that stores the data in the form of key-value pairs. MongoDB is developed by MongoDB Inc. and was initially released on 11 February 2009. It is written in C++, Go, JavaScript, and Python languages. MongoDB offers high speed, high availability, and high scalability.
insert_one() Method
This is a method by which we can insert a single entry within the collection or the database in MongoDB. If the collection does not exist this method creates a new collection and insert the data into it. It takes a dictionary as a parameter containing the name and value of each field in the document you want to insert in the collection.
This method returns an instance of class "~pymongo.results.InsertOneResult" which has a "_id" field that holds the id of the inserted document. If the document does not specify an "_id" field, then MongoDB will add the "_id" field and assign a unique object id for the document before inserting.
Syntax:
collection.insert_one(document, bypass_document_validation=False, session=None, comment=None)
Parameters:
- 'document': The document to insert. Must be a mutable mapping type. If the document does not have an _id field one will be added automatically.
- 'bypass_document_validation' (optional): If "True", allows the write to opt-out of document level validation. Default is "False".
- 'session' (optional): A class '~pymongo.client_session.ClientSession'.
- 'comment'(optional): A user-provided comment to attach to this command.
Example 1:
Sample database is as follows:
Example
# importing Mongoclient from pymongo
from pymongo import MongoClient
# Making Connection
myclient = MongoClient("mongodb://localhost:27017/")
# database
db = myclient["GFG"]
# Created or Switched to collection
# names: GeeksForGeeks
collection = db["Student"]
# Creating Dictionary of records to be
# inserted
record = { "_id": 5,
"name": "Raju",
"Roll No": "1005",
"Branch": "CSE"}
# Inserting the record1 in the collection
# by using collection.insert_one()
rec_id1 = collection.insert_one(record)
Output:
Example 2: Inserting multiple values
To insert multiple values, 2 Methods can be followed:
#1: Naive Method: Using for loop and insert_one
# importing Mongoclient from pymongo
from pymongo import MongoClient
# Making Connection
myclient = MongoClient("mongodb://localhost:27017/")
# database
db = myclient["GFG"]
# Created or Switched to collection
# names: GeeksForGeeks
collection = db["Student"]
# Creating Dictionary of records to be
# inserted
records = {
"record1": { "_id": 6,
"name": "Anshul",
"Roll No": "1006",
"Branch": "CSE"},
"record2": { "_id": 7,
"name": "Abhinav",
"Roll No": "1007",
"Branch": "ME"}
}
# Inserting the records in the collection
# by using collection.insert_one()
for record in records.values():
collection.insert_one(record)
Output:
#2: Using insert_many method: This method can be used to insert multiple documents in a collection in MongoDB.
The insert_many method is explained briefly in the next tutorial.