Home > Article > Backend Development > A simple and clear tutorial on operating Mongodb with Python3
This article mainly introduces the detailed Python3 operationMongodbconcise and easy-to-understand tutorial. It introduces in detail how to connect the database and operate the database. You can find out if you need it.
Connecting to the database
To connect to the database, you need to provide an address and interface. First you still have to import the package.
from pymongo import MongoClient conn = MongoClient('localhost',27017)
Of course, you can use the following writing:
conn = MongoClient('mongodb://localhost:27017/')##mongodb does not need to be created in advance Good database, but use it directly, and automatically create it if it is found not to exist.
db = conn.testdbThe above statement will create a testdb database. However, when there is no
inserted data, you cannot see the database in the management tool (not displayed).
Insert data
Single record insertion
from pymongo import MongoClient conn = MongoClient('mongodb://localhost:27017/') db = conn.testdb db.col.insert({"name":'yanying','province':'江苏','age':25})Note: The database connection operation will be ignored in the following operations, and the core code will be written directly. Please make up for it yourself. Nothing happens in the python console, that's what success means. Use the management tool to view the database records and it does contain a piece of data.
Multiple record insertion
db.col.insert([ {"name":'yanying','province':'江苏','age':25}, {"name":'张三','province':'浙江','age':24}, {"name":'张三1','province':'浙江1','age':25}, {"name":'张三2','province':'浙江2','age':26}, {"name":'张三3','province':'浙江3','age':28}, ])
QueryData
Single query
db.col.find_one()The above statement can query a mongodb record. The extra _id in the record is a unique value automatically generated by Mongodb.
Copy code The code is as follows:
{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}We will insert some data for the following operations. (Omit tens of thousands of words)
Query all
for item in db.col.find(): print(item)This way you can get all records.
{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25} {'_id': ObjectId('592550e5d92fac0b8c449f87'), 'name': 'zhangsan', 'province': '北京', 'age': 29} {'_id': ObjectId('592550f6d92fac3548c20b1a'), 'name': 'lisi', 'province': '上海', 'age': 22} {'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻', 'province': '广东', 'age': 30}
Conditional query
for item in db.col.find({'name':"yanying"}): print(item)
Query results
The code is as follows:{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}Of course, you can also query records that are less than a certain value
for item in db.col.find({"age":{"$lt":25}}): print(item)or greater than Records of a certain value
for item in db.col.find({"age":{"$gt":25}}): print(item)
Statistical query
db.col.find().count() // 4Or add some conditions
db.col.find({"age":{"$gt":25}}).count() //2_id is an id automatically generated by mongodb. Its type is ObjectId. If you want to use it, Type conversion is required. This method is provided in python3, but it needs to import a library.
from bson.objectid import ObjectIdIn this way, you can directly use _id to query.
collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})
Sort the results
sort method. Mongodb defaults to ascending order
db.col.find().sort("age")But you can also add some parameters to change the sorting method. For example, reverse order, but remember to import the pymongo library first
import pymongo db.col.find().sort("UserName",pymongo.DESCENDING)You can also make it ascending order, although it is the default
for item in db.col.find().sort('age',pymongo.ASCENDING): print(item)
Updatedata
Copy code The code is as follows:
db.col.update({'_id':ObjectId('59255118d92fac43dcb1999a')},{'$set':{'name':'王二麻33333'}})The results are as follows: Wang Erma became Wang Erma 33333The code is as follows:
{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻33333', 'province': '广东', 'age': 30}
DeleteData
db.col.remove({'name':'王二麻33333'})Delete all data (use with caution)
db.col.remove()
The above is the detailed content of A simple and clear tutorial on operating Mongodb with Python3. For more information, please follow other related articles on the PHP Chinese website!