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ư nó được gọi trong MongoDB, vào một bộ sưu tập, chúng tôi sử dụng
insert_one()
phương pháp này.
Tham số đầu tiên của insert_one()
phương thức là một từ điển chứa (các) tên và (các) giá trị của mỗi trường trong tài liệu bạn muốn chèn.
Thí dụ
Chèn 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)
Trả lại trường _id
Phương insert_one()
thức này trả về một đối tượng InsertOneResult, có một thuộc tính, inserted_id
giữ id của tài liệu được chèn vào.
Thí 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
_id
trường:
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)
Nếu bạn không chỉ định một _id
trường, thì MongoDB sẽ thêm một trường cho bạn và chỉ định một id duy nhất cho mỗi tài liệu.
Trong ví dụ trên, không có _id
trường nào được chỉ định, vì vậy MongoDB đã gán 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 tôi sử dụng
insert_many()
phương pháp này.
Tham số đầu tiên của insert_many()
phương thức là danh sách chứa từ điển với dữ liệu bạn muốn chèn:
Thí 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)
Phương insert_many()
thức này trả về một đối tượng InsertManyResult, có một thuộc tính, inserted_ids
chứa id của các tài liệu được chèn vào.
Chèn nhiều tài liệu, với các ID được chỉ định
Nếu bạn không muốn MongoDB chỉ định 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 được có cùng một _id.
Thí 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)