🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to Python Notes
Topic #187

MongoDB Insert


Note: A document in MongoDB is the same as a record in SQL databases.

Insert Into Collection

To insert a record, or document as it is called in MongoDB, into a collection, we use the insert_one() method.

The first parameter of the insert_one() method is a dictionary containing the name(s) and value(s) of each field in the document you want to insert.

Example

  import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
  mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "address": "Highway 37" }

  x =
  mycol.insert_one(mydict)

Return the _id Field

The insert_one() method returns a InsertOneResult object, which has a property, inserted_id, that holds the id of the inserted document.

Example

  mydict = { "name": "Peter", "address": "Lowstreet 27" }

  x = mycol.insert_one(mydict)

print(x.inserted_id)

If you do not specify an _id field, then MongoDB will add one for you and assign a unique id for each document.

In the example above no _id field was specified, so MongoDB assigned a unique _id for the record (document).


Insert Multiple Documents

To insert multiple documents into a collection in MongoDB, we use the insert_many() method.

The first parameter of the insert_many() method is a list containing dictionaries with the data you want to insert:

Example

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "name": "Amy", "address": "Apple st 652"},

{ "name": "Hannah", "address": "Mountain 21"},
  { "name":
"Michael", "address": "Valley 345"},
  { "name": "Sandy", "address":
"Ocean blvd 2"},
  { "name": "Betty", "address": "Green Grass 1"},

{ "name": "Richard", "address": "Sky st 331"},
  { "name": "Susan",
"address": "One way 98"},
  { "name": "Vicky", "address": "Yellow
Garden 2"},
  { "name": "Ben", "address": "Park Lane 38"},

{ "name": "William", "address": "Central st 954"},
  { "name":
"Chuck", "address": "Main Road 989"},
  { "name": "Viola",
"address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

#print list of the _id values of the inserted
documents:
print(x.inserted_ids)

The insert_many() method returns a InsertManyResult object, which has a property, inserted_ids, that holds the ids of the inserted documents.


Insert Multiple Documents, with Specified IDs

If you do not want MongoDB to assign unique ids for your document, you can specify the _id field when you insert the document(s).

Remember that the values has to be unique. Two documents cannot have the same _id.

Example

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "_id": 1, "name": "John", "address": "Highway 37"},

{ "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
  { "_id":
3, "name": "Amy", "address": "Apple st 652"},
  { "_id": 4, "name":
"Hannah", "address": "Mountain 21"},
  { "_id": 5, "name":
"Michael", "address": "Valley 345"},
  { "_id": 6, "name": "Sandy",
"address": "Ocean blvd 2"},
  { "_id": 7, "name": "Betty",
"address": "Green Grass 1"},
  { "_id": 8, "name": "Richard",
"address": "Sky st 331"},
  { "_id": 9, "name": "Susan", "address":
"One way 98"},
  { "_id": 10, "name": "Vicky", "address": "Yellow
Garden 2"},
  { "_id": 11, "name": "Ben", "address": "Park Lane
38"},
  { "_id": 12, "name": "William", "address": "Central st
954"},
  { "_id": 13, "name": "Chuck", "address": "Main Road 989"},

{ "_id": 14, "name": "Viola", "address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

#print list of the _id values of the inserted
documents:
print(x.inserted_ids)

Want to go beyond the notes?

Join CodingNow 2.0's Python course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

MongoDB Insert – FAQs

Quick answers about learning MongoDB Insert in Python.

This free note from CodingNow 2.0 explains MongoDB Insert in Python — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Python topic on CodingNow 2.0, including MongoDB Insert, is 100% free with no signup required.
With focused practice, most students grasp MongoDB Insert in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now