Để tạo kết nối giữa ngôn ngữ lập trình Python và cơ sở dữ liệu MongoDB, trước tiên chúng ta cần cài đặt trình điều khiển pymongo. Ở đây, chúng tôi đang tạo một ví dụ kết nối với cơ sở dữ liệu và thực hiện các hoạt động cơ sở dữ liệu. Các bài viết liên quan: Ví dụ này bao gồm các bước sau:from pymongo import MongoClient # import mongo client to connect
import pprint
# Creating instance of mongoclient
client = MongoClient[]
# Creating database
db = client.testDB
employee = {"id": "101",
"name": "Peter",
"profession": "Software Engineer",
}
# Creating document
employees = db.employees
# Inserting data
employees.insert_one[employee]
# Fetching data
pprint.pprint[employees.find_one[]]
- Thực thi tập lệnh Python
- Nhập vào Mongo Shell
Bây giờ, hãy nhập vào trình bao cơ sở dữ liệu MongoDB để xem cơ sở dữ liệu và bộ sưu tập đã tạo.
Chúng ta có thể sử dụng lệnh sau để nhập vào cơ sở dữ liệu.
- Kiểm tra cơ sở dữ liệu
Lệnh sau được sử dụng để hiển thị cơ sở dữ liệu có sẵn.
- Kiểm tra Collection
Lệnh sau được sử dụng để hiển thị bộ sưu tập có sẵn vào cơ sở dữ liệu.
- Access Records
Chúng tôi có thể xem các bản ghi được lưu trữ trong bộ sưu tập cụ thể. Lệnh sau được sử dụng để hiển thị bản ghi.
Kết nối mongodb MongoDB Python 6
sort["name", 1] #ASC
sort["name", -1] #DESC
- 4.5 : Limit
- Và cuối cùng tất nhiên rồi =]] để limit 1 list các dữ liệu , chúng ta có thể sử dụng
8 method. Cụ thể như sau :dblist = myclient.list_database_names[] if "mydatabase" in dblist: print["The database exists."]
- Ok, vậy là mình đã nói xong về các công việc cơ bản để kết nối cũng như sử dụng Mysql với python . Cám ơn các bạn đã theo dõi.
- Tài liệu tham khảo
- Lời nói đầu.
Xin chào mọi người đã quay trở lại seria bài viết về python của mình . Ai cần đọc về bài viết về python phần 1, 2 và 3 của mình thì click vào link bên dưới nhé
Getting started Python - P1
Getting started Python - P2
Getting started Python - P3
Getting started Python - Handle File
python -m pip install pymongo
Python vs MySQL
import pymongo
Ở bài viết lần trước mình có trình bày với các bạn cách làm việc của Mysql và Python với nhau rồi. Ngày hôm nay mình xin nói về python và 1 cơ sở dữ liệu khác đó là
import pymongo
6Nội dung.
I : Install MongoDB Driver
Đâu tiên , để có thể truy cập tời MongoDB thì Python cần một MongoDB Driver để kết nối. Trong bài viết này , mình sẽ giời thiệu cho các bạn sử dung
import pymongo
7MongoDB sẽ tạo ra database mà bạn muốn . Tuy nhiên nếu database đã tồn tại thì Python sẽ tạo ra 1 connection vơi database được chỉ định :
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
Note : Trong MongoDB , một Database không được khởi tạo cho đến khi nó có nội dung .
MongoDB sẽ chờ cho đến khi bạn tạo ra 1 collection [Table] nào đó , với ít nhất một document [ record] ... trước khi nó thực sự tạo ra một cơ sở dữ liệu.
Nếu bạn muốn check xem database có tồn tại hay không thì bạn có thể check băng cách list toàn bộ các database trong CSDL . Bằng cách sau :
print[myclient.list_database_names[]]
Hoặc chỉ định ra rõ ràng tên Database :
dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
Remember : Trong MongoDB , một cơ sở dữ liệu chỉ được tạo khi nó có nội dung [document] bên trong. Vì vậy lần đầu tiên bạn thực hiện tạo cơ sở dữ liệu cần phải thực hiện 2 bước sau [Tạo collection và Tạo Document] trước khi bạn muốn check xem database có tồn tại không.
2 : Creating a Collection
Để tạo một collection trong MongoDB , bạn cần sử dùng database objeect và chỉ định ra tên của collection mà bạn muốn tạo. MongoDB sẽ tạo ra collection nếu nó không tồn tại :
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
Note : Trong MongoDB , một colection không được khởi tạo cho đến khi nó có nội dung [document].
Trong trường hợp bạn muốn check xem collection có tồn tại hay không thì có thể dùng cách sau :
collist = mydb.list_collection_names[]
if "customers" in collist:
print["The collection exists."]
Remember : Cũng như cơ sở dữ liệu, Collection chỉ được tạo khi nó có nội dung [document] bên trong. Vì vậy lần đầu tiên bạn thực hiện tạo Collection cần phải thực hiện tạo Document trước khi bạn muốn check xem Collection có tồn tại không.
3 : Insert / Update .
3.1 : Insert
Để tạo một record / document bạn cần kết nôí đến một collection trong database . Và sử dụng hàm
import pymongo
9 .Hàm
import pymongo
9 chấp nhập một object có name[s] và value[s] cho mỗi field trong document mà bạn muốn insert . Cụ thể như sau : 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]
Hàm
import pymongo
9 sẽ trả ra một object InsertOneResult . Object đó có thuộc tính import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
2 . Nó chính là id của document vừa mới insert vào :mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one[mydict]
print[x.inserted_id]
Note : Nếu bạn không xác định field
3 và MongoDB sẽ tạo cho bạn một unique id cho mỗi documentimport pymongo myclient = pymongo.MongoClient["mongodb://localhost:27017/"] mydb = myclient["mydatabase"]
Để insert nhiều document cùng một lúc vào MongoDB , chúng ta có thể sử dụng method
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
4 .Hàm
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
4 chấp nhập một list objects có name[s] và value[s] cho mỗi field trong document mà bạn muốn insert . Cụ thể như sau :python -m pip install pymongo
0Hàm
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
4 sẽ trả ra một object InsertManyResult . Object đó có thuộc tính import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
7 . Nó chính là id của các document vừa mới insert vào .Trong trường hợp bạn không muốn sử dụng unique id do Mongo tạo. Khi create bạn có thể thêm field
import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
3 vào document muốn insert. Và phải nhớ rằng các import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
3 là duy nhất. 2 document giống nhau import pymongo
myclient = pymongo.MongoClient["mongodb://localhost:27017/"]
mydb = myclient["mydatabase"]
3 sẽ không thể insert được.python -m pip install pymongo
13.2 : Update
3.2.1 : Update once
Để update trong python, chúng ta có thê sử dụng
print[myclient.list_database_names[]]
1 method.- Đối số đầu tiên của hàm này là một truy vấn định nghĩa băng object dữ liệu
- Đối số thứ 2 của hàm này là là một object dữ liệu mới ... thể hiện trạng thái mới của document.
Cụ thể như sau :
python -m pip install pymongo
2Note : Nếu query tìm được nhiều hơn 1 kết quả thì chi kết quả đầu tiên được update .
3.2.2 : Update many
Để update nhiều record trong python, chúng ta có thê sử dụng
print[myclient.list_database_names[]]
2 method.python -m pip install pymongo
33.3 : Delete
3.3.1 : Delete once
Để delete 1 record trong python, chúng ta có thê sử dụng
print[myclient.list_database_names[]]
3 method.- Đối số đầu tiên của hàm này là một truy vấn định nghĩa băng object dữ liệu
Cụ thể như sau :
python -m pip install pymongo
4Note : Nếu query tìm được nhiều hơn 1 kết quả thì chi kết quả đầu tiên được update .
3.2.2 : Update many
Để update nhiều record trong python, chúng ta có thê sử dụng
print[myclient.list_database_names[]]
2 method.python -m pip install pymongo
53.3 : Delete
3.3.1 : Delete once
python -m pip install pymongo
6Để delete 1 record trong python, chúng ta có thê sử dụng print[myclient.list_database_names[]]
3 method.
print[myclient.list_database_names[]]
Note : Nếu query tìm được nhiều hơn 1 kết quả thì chi kết quả đầu tiên được xóa .
3.3.2 : Delete many
python -m pip install pymongo
7Để delete nhiều record trong python, chúng ta có thê sử dụng
4 method.print[myclient.list_database_names[]]
3.2.3 : Delete All Documents in a Collection
- Trong trường hợp bạn muốn xóa cả collection thì có thể dùng cách sau:
- 4 : Select data
python -m pip install pymongo
84.1 : Find One
python -m pip install pymongo
9Đê select dữ liệu từ collection trong MongoDB , chúng ta có thể
print[myclient.list_database_names[]]
5 method . Với method này chúng ta sẽ có được phần tử đầu tiên được tìm ra trong collection.4.2 : Find All
import pymongo
04.3 : Filter Như đã nói ở trên , khi bạn select 1 record ra, bạn có 1 object đối số thể hiện các điều kiện mà bạn muốn tìm kiếm. Cụ thể như sau : Như đã nói ở trên , khi bạn select 1 record ra, bạn có 1 object đối số thể hiện các điều kiện mà bạn muốn tìm kiếm. Cụ thể như sau :
import pymongo
1Và nếu bạn muốn tạo 1 câu query nâng cao hơn thì sao . Dưới đây là ví dụ về 1 query mà field
dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
0 bắt đầu bằng kí tự dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
3 hoặc các kí tự sau dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
4 trong bảng chữ cái alphabe. Cụ thể như sau :import pymongo
2Hoặc ta cũng có thể sử dụng Regex để tạo ra 1 câu query. Dưới đây là 1 ví dụ về query lấy các document có field
dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
0 bắt đầu băng chứ dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
3. Cụ thể như sau :import pymongo
34.4 : Sort
Khi bạn muốn sort các bản ghi lấy ra thì chúng ta có method
dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
7. Cụ thể như sau :import pymongo
4sort["name", 1] #ASC
sort["name", -1] #DESC
4.5 : Limit
Và cuối cùng tất nhiên rồi =]] để limit 1 list các dữ liệu , chúng ta có thể sử dụng
dblist = myclient.list_database_names[]
if "mydatabase" in dblist:
print["The database exists."]
8 method. Cụ thể như sau :import pymongo
5Ok, vậy là mình đã nói xong về các công việc cơ bản để kết nối cũng như sử dụng Mysql với python . Cám ơn các bạn đã theo dõi.
Tài liệu tham khảo
//www.w3schools.com/python/default.asp