Tài liệu chèn Python MongoDB
Một tài liệu trong MongoDB giống như một bản ghi trong cơ sở dữ liệu SQL.
Chèn vào bộ sưu tập
Để chèn một bản ghi hoặc tài liệu như được gọi trong MongoDB vào một bộ sưu tập, chúng ta sử dụng phương thức insert_one()
.
Tham số đầu tiên của phương thức insert_one()
là một từ điển chứa (các) tên và (các) giá trị của từng trường trong tài liệu bạn muốn chèn.
Ví dụ
Chèn một bản ghi vào bộ sưu tập "khách hàng":
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)
Chạy ví dụ »Trả về trường _id
Phương thức insert_one()
trả về một đối tượng InsertOneResult, có thuộc tính, inserted_id
, chứa id của tài liệu được chèn.
Ví dụ
Chèn một bản ghi khác vào bộ sưu tập "khách hàng" và trả về giá trị của trường _id
:
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)
Chạy ví dụ » Nếu bạn không chỉ định trường _id
thì MongoDB sẽ thêm một trường cho bạn và gán một id duy nhất cho mỗi tài liệu.
Trong ví dụ trên không có trường _id
nào được chỉ định, do đó MongoDB đã chỉ định một _id duy nhất cho bản ghi (tài liệu).
Chèn nhiều tài liệu
Để chèn nhiều tài liệu vào một bộ sưu tập trong MongoDB, chúng ta sử dụng phương thức insert_many()
.
Tham số đầu tiên của phương thức insert_many()
là danh sách chứa các từ điển có dữ liệu bạn muốn chèn:
Ví dụ
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)
Chạy ví dụ » Phương thức insert_many()
trả về một đối tượng InsertManyResult, có thuộc tính, inserted_ids
, chứa id của các tài liệu được chèn.
Chèn nhiều tài liệu với ID được chỉ định
Nếu bạn không muốn MongoDB gán id duy nhất cho tài liệu của mình, bạn có thể chỉ định trường _id khi bạn chèn (các) tài liệu.
Hãy nhớ rằng các giá trị phải là duy nhất. Hai tài liệu không thể có cùng _id.
Ví dụ
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
{ "_id": 1, "name": "John", "address": "Highway 37"},
{ "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
{ "_id":
3, "name": "Amy", "address": "Apple st 652"},
{ "_id": 4, "name":
"Hannah", "address": "Mountain 21"},
{ "_id": 5, "name":
"Michael", "address": "Valley 345"},
{ "_id": 6, "name": "Sandy",
"address": "Ocean blvd 2"},
{ "_id": 7, "name": "Betty",
"address": "Green Grass 1"},
{ "_id": 8, "name": "Richard",
"address": "Sky st 331"},
{ "_id": 9, "name": "Susan", "address":
"One way 98"},
{ "_id": 10, "name": "Vicky", "address": "Yellow
Garden 2"},
{ "_id": 11, "name": "Ben", "address": "Park Lane
38"},
{ "_id": 12, "name": "William", "address": "Central st
954"},
{ "_id": 13, "name": "Chuck", "address": "Main Road 989"},
{ "_id": 14, "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
#print list of the _id values of the inserted
documents:
print(x.inserted_ids)
Chạy ví dụ »