Để 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 phương thức Show
Tham số đầu tiên của phương thức Thí dụChèn một bản ghi vào bộ sưu tập "khách hàng" pymongo nhập khẩu myclient = pymongo. MongoClient("mongodb. //máy chủ cục bộ. 27017/") mydict = {"tên". "John", "địa chỉ". "Quốc lộ 37" } x = mycol. chèn_one (mydict) Chạy ví dụ »Trả lại trường _idPhương thức Thí dụChèn một bản ghi khác vào bộ sưu tập "customers" và trả về giá trị của trường mydict = {"tên". "Peter", "địa chỉ". "Lowstreet 27" } x = mycol. chèn_one (mydict) in(x. đã chèn_id) Chạy ví dụ »Nếu bạn không chỉ định trường Trong ví dụ trên, không có trường Học cách lọc dữ liệu bằng Python như một nhà phân tích dữ liệuThử tham gia các buổi đào tạo thực hành với hướng dẫn từng bước từ chuyên gia. Hãy thử dự án có hướng dẫn được thực hiện với sự cộng tác của Coursera ngay bây giờ Get startedChèn nhiều tài liệuĐể chèn nhiều tài liệu vào một collection trong MongoDB, chúng ta sử dụng phương thức Tham số đầu tiên của phương thức Thí dụpymongo nhập khẩu myclient = pymongo. MongoClient("mongodb. //máy chủ cục bộ. 27017/") danh sách của tôi = [ x = mycol. insert_many(danh sách của tôi) #in danh sách các giá trị _id của tài liệu đã chèn Phương thức Chèn nhiều tài liệu, với ID được chỉ địnhNế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 Mỗi nhóm thao tác có thể có tối đa. Nếu một nhóm vượt quá mức này, MongoDB sẽ chia nhóm thành các nhóm nhỏ hơn từ 1000 trở xuống. Ví dụ: nếu hàng đợi bao gồm 2000 thao tác, MongoDB tạo 2 nhóm, mỗi nhóm có 1000 thao tác Kích thước và cơ chế nhóm là chi tiết hiệu suất bên trong và có thể thay đổi trong các phiên bản sau Thực thi một danh sách các hoạt động trên một bộ sưu tập được phân đoạn thường sẽ chậm hơn so với thực thi một danh sách vì với một danh sách có thứ tự, mỗi hoạt động phải đợi hoạt động trước đó kết thúc Tạo bộ sưu tậpNếu bộ sưu tập không tồn tại, thì insertMany() tạo bộ sưu tập khi ghi thành công. _id TrườngNếu tài liệu không chỉ định một trường, hãy thêm trường _id và chỉ định một trường duy nhất cho tài liệu. Hầu hết các trình điều khiển tạo ObjectId và chèn trường _id , nhưng trình điều khiển sẽ tạo và điền _id if the driver or application does not. Nếu tài liệu chứa trường _id , thì _id value must be unique within the collection to avoid duplicate key error. khả năng giải thíchinsertMany() không tương thích với. sử dụng thay thế Xử lý lỗiChèn đưa ra BulkWriteError ngoại lệ. Loại trừ các lỗi Ghi liên quan, các hoạt động được sắp xếp sẽ dừng sau một lỗi, trong khi các hoạt động không được sắp xếp tiếp tục xử lý mọi hoạt động ghi còn lại trong hàng đợi Lỗi liên quan đến ghi được hiển thị trong trường writeConcernErrors , trong khi tất cả các lỗi khác được hiển thị trong . Nếu gặp lỗi, số lượng thao tác ghi thành công sẽ được hiển thị thay vì danh sách các _id được chèn. Các thao tác có thứ tự hiển thị một lỗi gặp phải trong khi các thao tác không có thứ tự hiển thị từng lỗi trong một mảng. field. If an error is encountered, the number of successful write operations are displayed instead of a list of inserted _ids. Ordered operations display the single error encountered while unordered operations display each error in an array. ví dụCác ví dụ sau chèn tài liệu vào bộ sưu tập products . Chèn nhiều tài liệu mà không chỉ định trường _id FieldVí dụ sau sử dụng db. thu thập. insertMany() để chèn tài liệu không chứa trường _id . try { db.products.insertMany( [ { item: "card", qty: 15 }, { item: "envelope", qty: 20 }, { item: "stamps" , qty: 30 } ] ); } catch (e) { print (e); } Hoạt động trả về tài liệu sau { "acknowledged" : true, "insertedIds" : [ ObjectId("562a94d381cb9f1cd6eb0e1a"), ObjectId("562a94d381cb9f1cd6eb0e1b"), ObjectId("562a94d381cb9f1cd6eb0e1c") ] } Vì các tài liệu không bao gồm _id , hãy tạo và thêm _id field for each document and assigns it a unique value. Các giá trị ObjectId dành riêng cho máy và thời gian khi thao tác được chạy. Như vậy, các giá trị của bạn có thể khác với các giá trị trong ví dụ. Chèn một số tài liệu chỉ định một trường _id FieldVí dụ/thao tác sau đây sử dụng insertMany() để chèn tài liệu bao gồm _id_id . Giá trị của _id . Giá trị của _id . Giá trị của _id . Giá trị của field. The value of _id phải là duy nhất trong bộ sưu tập để tránh lỗi khóa trùng lặp. try { db.products.insertMany( [ { _id: 10, item: "large box", qty: 20 }, { _id: 11, item: "small box", qty: 55 }, { _id: 12, item: "medium box", qty: 30 } ] ); } catch (e) { print (e); } Hoạt động trả về tài liệu sau { "acknowledged" : true, "insertedIds" : [ 10, 11, 12 ] } Việc chèn một giá trị trùng lặp cho bất kỳ khóa nào là một phần của , chẳng hạn như _id , sẽ tạo ra một ngoại lệ. Những nỗ lực sau đây để chèn một tài liệu có giá trị _id đã tồn tại. try { db.products.insertMany( [ { _id: 13, item: "envelopes", qty: 60 }, { _id: 13, item: "stamps", qty: 110 }, { _id: 14, item: "packing tape", qty: 38 } ] ); } catch (e) { print (e); } Kể từ _id. 13 đã tồn tại, ngoại lệ sau được đưa ra. BulkWriteError({ "writeErrors" : [ { "index" : 0, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: restaurant.test index: _id_ dup key: { : 13.0 }", "op" : { "_id" : 13, "item" : "envelopes", "qty" : 60 } } ], "writeConcernErrors" : [ ], "nInserted" : 0, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] }) Lưu ý rằng một tài liệu đã được chèn vào. Tài liệu đầu tiên của _id. 13 sẽ chèn thành công, nhưng lần chèn thứ hai sẽ không thành công. Điều này cũng sẽ ngăn các tài liệu bổ sung còn lại trong hàng đợi được chèn vào. Với được sắp xếp thành false , thao tác chèn sẽ . Chèn không có thứ tựNhững lần sau cố gắng chèn nhiều tài liệu với trường _id và được sắp xếp. sai . Mảng tài liệu chứa hai tài liệu có các trường _id trùng lặp. try { db.products.insertMany( [ { _id: 10, item: "large box", qty: 20 }, { _id: 11, item: "small box", qty: 55 }, { _id: 11, item: "medium box", qty: 30 }, { _id: 12, item: "envelope", qty: 100}, { _id: 13, item: "stamps", qty: 125 }, { _id: 13, item: "tape", qty: 20}, { _id: 14, item: "bubble wrap", qty: 30} ], { ordered: false } ); } catch (e) { print (e); } Các hoạt động ném ngoại lệ sau BulkWriteError({ "writeErrors" : [ { "index" : 2, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: inventory.products index: _id_ dup key: { : 11.0 }", "op" : { "_id" : 11, "item" : "medium box", "qty" : 30 } }, { "index" : 5, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: inventory.products index: _id_ dup key: { : 13.0 }", "op" : { "_id" : 13, "item" : "tape", "qty" : 20 } } ], "writeConcernErrors" : [ ], "nInserted" : 5, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] }) Trong khi tài liệu có mục. hộp "vừa " và mục. "băng" không chèn được do các giá trị _id trùng lặp, nInserted shows that the remaining 5 documents were inserted. Sử dụng ghi mối quan tâmCho một bộ bản sao gồm ba thành viên, thao tác sau đây chỉ định w của đa số and wtimeout of 100: ________số 8_______ Nếu chính và ít nhất một phụ xác nhận mỗi thao tác ghi trong vòng 100 mili giây, nó sẽ trả về try { db.products.insertMany( [ { item: "card", qty: 15 }, { item: "envelope", qty: 20 }, { item: "stamps" , qty: 30 } ] ); } catch (e) { print (e); }0 Nếu tổng thời gian cần thiết cho tất cả các nút bắt buộc trong bộ bản sao để xác nhận thao tác ghi lớn hơn thời gian chờ , thì writeConcernError is displayed when the wtimeout period has passed. Thao tác này trả về try { db.products.insertMany( [ { item: "card", qty: 15 }, { item: "envelope", qty: 20 }, { item: "stamps" , qty: 30 } ] ); } catch (e) { print (e); }1 ← db. thu thập. insertOne() db. thu thập. isCapped() → © MongoDB, Inc 2008-2017. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc Làm cách nào để chèn nhiều bản ghi trong MongoDB?Trình vỏ MongoDB cung cấp các phương thức sau để chèn tài liệu vào bộ sưu tập. . Để chèn một tài liệu, hãy sử dụng db. thu thập. chènMột () Để chèn nhiều tài liệu, hãy sử dụng db. thu thập. chènMany() Lệnh chèn nhiều tài liệu là gì?insertMany() Phương thức insertMany() chèn một hoặc nhiều tài liệu vào bộ sưu tập. Phải mất một mảng tài liệu để chèn vào bộ sưu tập.
Làm cách nào để chèn nhiều hàng trong MongoDB bằng cầy mangut?Để chèn Nhiều tài liệu vào MongoDB bằng Mongoose, hãy sử dụng Model. bộ sưu tập. insert(docs_array, options, callback_function); . .
Làm cách nào để chèn nhiều dữ liệu vào MongoDB bằng nút js?Bạn có thể chèn nhiều tài liệu bằng bộ sưu tập. phương thức insertMany() . insertMany() lấy một mảng tài liệu để chèn vào bộ sưu tập đã chỉ định. Bạn có thể chỉ định các tùy chọn bổ sung trong đối tượng tùy chọn được truyền dưới dạng tham số thứ hai của phương thức insertMany(). |