Hướng dẫn create collection mongodb python - tạo bộ sưu tập python mongodb


Một bộ sưu tập trong MongoDB giống như một bảng trong cơ sở dữ liệu SQL.collection in MongoDB is the same as a table in SQL databases.

Tạo một bộ sưu tập

Để tạo một bộ sưu tập trong MongoDB, hãy sử dụng đối tượng cơ sở dữ liệu và chỉ định tên của bộ sưu tập bạn muốn tạo.

MongoDB sẽ tạo ra bộ sưu tập nếu nó không tồn tại.

Thí dụ

Tạo một bộ sưu tập có tên là "Khách hàng":

nhập khẩu pymongo

myclient = pymongo.mongoclient ("MongoDB: // localhost: 27017/") mydb = myclient ["mydatabase"]
mydb = myclient["mydatabase"]

mycol = mydb ["khách hàng"]

Chạy ví dụ »

Quan trọng: Trong MongoDB, một bộ sưu tập không được tạo cho đến khi nó có được nội dung! In MongoDB, a collection is not created until it gets content!

MongoDB đợi cho đến khi bạn đã chèn một tài liệu trước khi nó thực sự tạo ra bộ sưu tập.


Kiểm tra xem bộ sưu tập có tồn tại không

Hãy nhớ rằng: Trong MongoDB, một bộ sưu tập không được tạo cho đến khi nó có nội dung, vì vậy nếu đây là lần đầu tiên bạn tạo một bộ sưu tập, bạn nên hoàn thành chương tiếp theo (tạo tài liệu) trước khi bạn kiểm tra xem bộ sưu tập có tồn tại không! In MongoDB, a collection is not created until it gets content, so if this is your first time creating a collection, you should complete the next chapter (create document) before you check if the collection exists!

Bạn có thể kiểm tra xem bộ sưu tập có tồn tại trong cơ sở dữ liệu bằng cách liệt kê tất cả các bộ sưu tập:

Thí dụ

Tạo một bộ sưu tập có tên là "Khách hàng":

nhập khẩu pymongo

Chạy ví dụ »

Quan trọng: Trong MongoDB, một bộ sưu tập không được tạo cho đến khi nó có được nội dung!

Thí dụ

Tạo một bộ sưu tập có tên là "Khách hàng":

nhập khẩu pymongo
if "customers" in collist:
  print("The collection exists.")

Chạy ví dụ »



sort("name", 1) #ASC

sort("name", -1) #DESC

Hướng dẫn create collection mongodb python - tạo bộ sưu tập python mongodb
. 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é
Hướng dẫn create collection mongodb python - tạo bộ sưu tập python mongodb

  • 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
    import pymongo
    
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    
    mycol = mydb["customers"]
    
    7 method. Cụ thể như sau :
  • 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

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
6 là một driver được nhiều người sử dụng khi dung Python và làm việc với MongoDB. Nào hay cài đặt package này bằng cách chạy câu lệnh này nhé :

python -m pip install pymongo

Ok, khi bạn đã cài đặt xong package thì thử kết nối đến database xem sao nhé .

import pymongo

Nếu đoạn mã trên được thực thi không có lỗi, "pymongo" đã được cài đặt thành công và sẵn sàng để sử dụng.

II : Các thao tác căn bản

1 : Create Database.

Để tạo 1 Mongo database , đầu tiên chúng ta cần tạo một object MongoClient . Sau đó , ta cần cung cấp một URL với địa chỉ IP chính xác và tên database mà bạn muốn tạo.

MongoDB 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

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
8 .

Hàm

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
8 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

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
8 sẽ trả ra một object InsertOneResult . Object đó có thuộc tính
print(myclient.list_database_names())
1 . 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

print(myclient.list_database_names())
2 và MongoDB sẽ tạo cho bạn một unique id cho mỗi document

Để insert nhiều document cùng một lúc vào MongoDB , chúng ta có thể sử dụng method

print(myclient.list_database_names())
3 .

Hàm

print(myclient.list_database_names())
3 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 :

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)

Hàm

print(myclient.list_database_names())
3 sẽ trả ra một object InsertManyResult . Object đó có thuộc tính
print(myclient.list_database_names())
6 . 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

print(myclient.list_database_names())
2 vào document muốn insert. Và phải nhớ rằng các
print(myclient.list_database_names())
2 là duy nhất. 2 document giống nhau
print(myclient.list_database_names())
2 sẽ không thể insert được.

import pymongo
0

3.2 : Update

3.2.1 : Update once

Để update trong python, chúng ta có thê sử dụng

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
0 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 :

import pymongo
1

Note : 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

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
1 method.

import pymongo
2

3.3 : Delete

3.3.1 : Delete once

Để delete 1 record trong python, chúng ta có thê sử dụng

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
2 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 :

import pymongo
3

Note : 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

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
1 method.

import pymongo
4

3.3 : Delete

3.3.1 : Delete once

import pymongo
5

Để delete 1 record trong python, chúng ta có thê sử dụng dblist = myclient.list_database_names() if "mydatabase" in dblist: print("The database exists.") 2 method.

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

import pymongo
6

Để delete nhiều record trong python, chúng ta có thê sử dụng

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
3 method.

3.2.3 : Delete All Documents in a Collection

  • Đối số đầu tiên trong method
    dblist = myclient.list_database_names()
    if "mydatabase" in dblist:
      print("The database exists.")
    
    5 là 1 query object . Trong các ví dụ mình sẽ ko sử dung object này
  • Đối số thứ 2 trong method
    dblist = myclient.list_database_names()
    if "mydatabase" in dblist:
      print("The database exists.")
    
    5 là 1 object giúp chúng ta xác nhận được các field mà chúng ta muốn lấy
import pymongo
7

ok, trong trường hợp bạn chỉ muốn lấy 1 vài field trong câu querry thì có thể làm như sau :

import pymongo
8

Query bên trên có nghĩa là bạn chỉ select ra 2 field

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
8 vs
dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
9 và field
import pymongo

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

mycol = mydb["customers"]
0 sẽ không được show ra .

Nếu trong 1 query bạn không set đầy đủ field có trong record thì mặc định sẽ set là 1 và nếu bạn ko có thông tin liên quan gì đến field đó thì nó sẽ mặc định được show ra

import pymongo
9

4.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

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
0

Và 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.")
9 bắt đầu bằng kí tự
import pymongo

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

mycol = mydb["customers"]
2 hoặc các kí tự sau
import pymongo

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

mycol = mydb["customers"]
3 trong bảng chữ cái alphabe. Cụ thể như sau :

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
1

Hoặ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.")
9 bắt đầu băng chứ
import pymongo

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

mycol = mydb["customers"]
2. Cụ thể như sau :

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
2

4.4 : Sort

Khi bạn muốn sort các bản ghi lấy ra thì chúng ta có method

import pymongo

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

mycol = mydb["customers"]
6. Cụ thể như sau :

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
3

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

import pymongo

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

mycol = mydb["customers"]
7 method. Cụ thể như sau :

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]
4

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.

Hướng dẫn create collection mongodb python - tạo bộ sưu tập python mongodb

Tài liệu tham khảo

https://www.w3schools.com/python/default.asp