Home  >  Article  >  Backend Development  >  A simple and clear tutorial on operating Mongodb with Python3

A simple and clear tutorial on operating Mongodb with Python3

黄舟
黄舟Original
2017-05-28 11:17:571263browse

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/')

Create database

##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.testdb

The 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

First of all, let’s insert a piece of data and take a look.

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

Mongodb can also insert multiple pieces of data at one time

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

Now we will query the data we just inserted.

Single query

We can use find_one() to query a record.

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

If we need to query all records, we can use db.col.find( ) but what is found is a result resource set.

We can use

for to list all records.

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

You can filter data by inserting query conditions as parameters.

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

The above code can count the number of all records

db.col.find().count() // 4

Or add some conditions

db.col.find({"age":{"$gt":25}}).count() //2

Query records based on _id

_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 ObjectId

In this way, you can directly use _id to query.

collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})

Sort the results

Just put the fields that need to be sorted into the

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

Updating data is very simple, you only need a condition and the data that needs to be updated

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 33333

The code is as follows:

{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻33333', 'province': '广东', 'age': 30}

DeleteData

Delete The data uses the remove() method. If the method has conditions, the specified condition data will be deleted. Otherwise, all

will be deleted. Delete the user whose name is Wang Erma 33333.

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn