Objective and Prerequisites
Objective: This segment introduces how to insert and retrieve the documents from a collection in MongoDB using Python.
Prerequisites: PyMongo is installed, and MongoDB is up and running in the background. If not, then refer to the Python Database Connectivity segment in sequence.
Start MongoDB
kodingwindow@kw:~$ sudo systemctl start mongod kodingwindow@kw:~$ mongosh Current Mongosh Log ID: 65154469633b7d0fc9cad531 Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.5 Using MongoDB: 7.0.9 Using Mongosh: 2.2.5 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ ... test> show dbs admin 0.000GB config 0.000GB local 0.000GB
Python MongoDB to insert and retrieve the documents from a collection
In the following program, database and collection automatically get created. If database and collection already exist in MongoDB, then new documents will get inserted into an existing collection.
kw.py
Output
kodingwindow@kw:~$ python3 kw.py Connection Established Documents inserted successfully {'_id': ObjectId('662dff2171fef7fb94353a22'), 'account_no': 2562348989, 'name': 'James Moore', 'bank': 'Barclays', 'amount': 5000} {'_id': ObjectId('662dff2171fef7fb94353a23'), 'account_no': 2562348990, 'name': 'Donald Taylor', 'bank': 'Citi', 'amount': 7000} {'_id': ObjectId('662dff2171fef7fb94353a24'), 'account_no': 2562348991, 'name': 'Edward Parkar', 'bank': 'ICICI', 'amount': 95000} {'account_no': 2562348989, 'name': 'James Moore'} {'account_no': 2562348990, 'name': 'Donald Taylor'} {'account_no': 2562348991, 'name': 'Edward Parkar'}
MongoDB Instance
test> show dbs DB 0.000GB admin 0.000GB config 0.000GB local 0.000GB test> use DB switched to db DB DB> db.getCollectionNames() [ "holders" ] DB> db.holders.find().pretty() [ { _id: ObjectId('662dff2171fef7fb94353a22'), account_no: Long('2562348989'), name: 'James Moore', bank: 'Barclays', amount: 5000 }, { _id: ObjectId('662dff2171fef7fb94353a23'), account_no: Long('2562348990'), name: 'Donald Taylor', bank: 'Citi', amount: 7000 }, { _id: ObjectId('662dff2171fef7fb94353a24'), account_no: Long('2562348991'), name: 'Edward Parkar', bank: 'ICICI', amount: 95000 } ]
Advertisement