Tài liệu về nhà → Bắt đầu với hướng dẫn → Start with Guides
Trong hướng dẫn này, bạn sẽ chèn dữ liệu vào MongoDB.
Thời gian cần thiết: 15 phút
Một chuỗi kết nối với triển khai MongoDB của bạn.
Bộ dữ liệu mẫu được tải vào cụm của bạn.
Một trình điều khiển MongoDB đã cài đặt.
Chuyển sang cơ sở dữ liệu và bộ sưu tập bạn muốn làm việc. Trong trường hợp này, bạn sẽ sử dụng cơ sở dữ liệu { $push: { : { : , ... }, ... } } { $push: { : { : , ... }, ... } }
2 và bộ sưu tập
3.
Tạo và chèn ba tài liệu mới cho bộ sưu tập
{ $push: { : { : , ... }, ... } }
3. Mỗi tài liệu bao gồm các thông tin sau đây về sao chổi:Tên
Tên chính thức
Thời kỳ quỹ đạo trong các năm
Bán kính tính bằng dặm
-
Khối lượng tính bằng kilogam
Mẹo
Nếu bạn bỏ qua trường
{ $push: { : { : , ... }, ... } }
5, trình điều khiển sẽ tự động tạo giá trị { $push: { : { : , ... }, ... } }
6 duy nhất cho trường { $push: { : { : , ... }, ... } }
5.Nhiều hoạt động ghi trong MongoDB trả về một đối tượng kết quả có chứa thông tin về hoạt động.
Dưới đây là mã hoàn chỉnh theo sau là đầu ra mẫu.
Ghi chú
Giá trị
{ $push: { : { : , ... }, ... } }
6 của bạn sẽ khác với các giá trị được hiển thị.Nếu bạn đã hoàn thành hướng dẫn này, bạn đã chèn dữ liệu vào MongoDB.
Trong hướng dẫn tiếp theo, bạn sẽ tìm hiểu cách cập nhật một trường trong một tài liệu.
Xem các tài nguyên sau đây để biết thêm thông tin chuyên sâu về các khái niệm được trình bày ở đây:
Chèn tài liệu
Phương pháp chèn
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
{ $push: { : { : , ... }, ... } }
9 Trình điều khiển { $push: { : { : , ... }, ... } }
9 nối một giá trị được chỉ định vào một mảng.The
{ $push: { : { : , ... }, ... } }
9 operator appends a specified value to an array.
Toán tử
{ $push: { : { : , ... }, ... } }
9 có biểu mẫu:{ $push: { : { : , ... }, ... } }
9 operator has the form:{ $push: { : , ... } }
Để chỉ định
db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
2 trong tài liệu nhúng hoặc trong một mảng, hãy sử dụng ký hiệu DOT.Bắt đầu từ MongoDB 5.0, cập nhật các nhà khai thác xử lý các trường tài liệu với tên dựa trên chuỗi theo thứ tự từ vựng. Các trường có tên số được xử lý theo thứ tự số. Xem Cập nhật hành vi của các nhà khai thác để biết chi tiết.
Nếu trường không có trong tài liệu để cập nhật,
{ $push: { : { : , ... }, ... } }
9 sẽ thêm trường mảng có giá trị làm phần tử của nó.{ $push: { : { : , ... }, ... } }
9 adds the array field with the value as its element.Nếu trường không phải là một mảng, hoạt động sẽ thất bại.not an array, the operation will fail.
Nếu giá trị là một mảng,
{ $push: { : { : , ... }, ... } }
9 nối toàn bộ mảng là một phần tử duy nhất. Để thêm từng phần tử của giá trị, hãy sử dụng công cụ sửa đổi db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
5 với { $push: { : { : , ... }, ... } }
9. Ví dụ, hãy xem thêm một giá trị vào các mảng trong nhiều tài liệu. Để biết danh sách các công cụ sửa đổi có sẵn cho { $push: { : { : , ... }, ... } }
9, xem các sửa đổi.{ $push: { : { : , ... }, ... } }
9 appends the whole array as a single element. To add each element of the value separately, use the db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
5 modifier with
{ $push: { : { : , ... }, ... } }
9. For an example, see Append a Value to Arrays in Multiple Documents. For a list of modifiers available for
{ $push: { : { : , ... }, ... } }
9, see Modifiers.Bắt đầu từ MongoDB 5.0,
db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
8 không còn gây ra lỗi khi bạn sử dụng toán tử cập nhật như { $push: { : { : , ... }, ... } }
9 với biểu thức toán hạng trống [db.students.updateOne[ { _id: 1 }, { $push: { scores: 89 } } ]
0]. Một bản cập nhật trống dẫn đến không có thay đổi và không có mục nhập oplog được tạo [có nghĩa là hoạt động là không có op].{ $push: { : { : , ... }, ... } }
9 with an empty operand expression [ db.students.updateOne[ { _id: 1 }, { $push: { scores: 89 } } ]
0 ]. An empty update results in no changes and no oplog entry is created [meaning that the operation is a no-op].Bạn có thể sử dụng toán tử
{ $push: { : { : , ... }, ... } }
9 với các sửa đổi sau:{ $push: { : { : , ... }, ... } }
9 operator with the following modifiers:
db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ] | Nối nhiều giá trị vào trường mảng. | ||||||||
| Giới hạn số lượng các yếu tố mảng. Yêu cầu sử dụng công cụ sửa đổi db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ] | ||||||||
| Đơn đặt hàng các yếu tố của mảng. Yêu cầu sử dụng công cụ sửa đổi db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ] | ||||||||
| Chỉ định vị trí trong mảng để chèn các yếu tố mới. Yêu cầu sử dụng công cụ sửa đổi db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ] { $push: { : { : , ... }, ... } } { $push: { : { : , ... }, ... } } |
Khi được sử dụng với bộ sửa đổi, toán tử
{ $push: { : { : , ... }, ... } }
9 có biểu mẫu:{ $push: { : { : , ... }, ... } }
9 operator has the form:{ $push: { : { : , ... }, ... } }
Việc xử lý hoạt động
{ $push: { : { : , ... }, ... } }
9 với các công cụ sửa đổi xảy ra theo thứ tự sau, bất kể thứ tự xuất hiện bộ điều chỉnh:{ $push: { : { : , ... }, ... } }
9 operation with modifiers occur in the following order, regardless of the order
in which the modifiers appear:Cập nhật mảng để thêm các phần tử ở đúng vị trí.
Áp dụng sắp xếp, nếu được chỉ định.
Cắt các mảng, nếu được chỉ định.
Lưu trữ mảng.
Tạo bộ sưu tập
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
3:db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
Ví dụ sau đây bổ sung
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
4 vào mảng { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
5:db.students.updateOne[ { _id: 1 }, { $push: { scores: 89 } } ]
Ví dụ đầu ra:
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
Thêm các tài liệu sau vào Bộ sưu tập
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
3:db.students.insertMany[ [ { _id: 2, scores: [ 45, 78, 38, 80, 89 ] } , { _id: 3, scores: [ 46, 78, 38, 80, 89 ] } , { _id: 4, scores: [ 47, 78, 38, 80, 89 ] } ] ]
Hoạt động
{ $push: { : { : , ... }, ... } }
9 sau đây bổ sung { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
8 vào mảng { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
5 trong mỗi tài liệu:{ $push: { : { : , ... }, ... } }
9 operation appends { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
8 to the { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
5 array in each document:db.students.updateMany[ { }, { $push: { scores: 95 } } ]
Để xác nhận rằng mỗi mảng
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
5 bao gồm { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
8, hãy chạy thao tác sau:Hoạt động trả về các kết quả sau:
[ { _id: 1, scores: [ 44, 78, 38, 80, 89, 95 ] }, { _id: 2, scores: [ 45, 78, 38, 80, 89, 95 ] }, { _id: 3, scores: [ 46, 78, 38, 80, 89, 95 ] }, { _id: 4, scores: [ 47, 78, 38, 80, 89, 95 ] } ]
Sử dụng
{ $push: { : { : , ... }, ... } }
9 với công cụ sửa đổi db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
5 để nối nhiều giá trị vào trường mảng.{ $push: { : { : , ... }, ... } }
9 with the db.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
5 modifier to append multiple values to the array field.Ví dụ sau đây nối thêm từng phần tử của
db.students.insertMany[ [ { _id: 2, scores: [ 45, 78, 38, 80, 89 ] } , { _id: 3, scores: [ 46, 78, 38, 80, 89 ] } , { _id: 4, scores: [ 47, 78, 38, 80, 89 ] } ] ]
4 vào mảng { _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
5 cho tài liệu trong đó trường db.students.insertMany[ [ { _id: 2, scores: [ 45, 78, 38, 80, 89 ] } , { _id: 3, scores: [ 46, 78, 38, 80, 89 ] } , { _id: 4, scores: [ 47, 78, 38, 80, 89 ] } ] ]
6 bằng db.students.insertMany[ [ { _id: 2, scores: [ 45, 78, 38, 80, 89 ] } , { _id: 3, scores: [ 46, 78, 38, 80, 89 ] } , { _id: 4, scores: [ 47, 78, 38, 80, 89 ] } ] ]
7:________số 8
Thêm tài liệu sau vào bộ sưu tập
{ _id: 1, scores: [ 44, 78, 38, 80, 89 ] }
3:db.students.insertOne[ { "_id" : 5, "quizzes" : [ { "wk": 1, "score" : 10 }, { "wk": 2, "score" : 8 }, { "wk": 3, "score" : 5 }, { "wk": 4, "score" : 6 } ] } ]
Hoạt động
{ $push: { : { : , ... }, ... } }
9 sau đây sử dụng:{ $push: { : { : , ... }, ... } }
9 operation uses:Bộ điều chỉnh
5 để thêm nhiều tài liệu vào mảngdb.students.insertOne[ { _id: 1, scores: [ 44, 78, 38, 80 ] } ]
1,db.students.updateMany[ { }, { $push: { scores: 95 } } ] -
Công cụ sửa đổi
5 để sắp xếp tất cả các phần tử của mảngdb.students.updateOne[ { _id: 1 }, { $push: { scores: 89 } } ]
1 đã sửa đổi theo trườngdb.students.updateMany[ { }, { $push: { scores: 95 } } ]
4 theo thứ tự giảm dần vàdb.students.updateMany[ { }, { $push: { scores: 95 } } ] Công cụ sửa đổi
3 chỉ giữ ba phần tử được sắp xếp đầu tiên của mảngdb.students.updateOne[ { _id: 1 }, { $push: { scores: 89 } } ]
1.first three sorted elements of thedb.students.updateMany[ { }, { $push: { scores: 95 } } ]
1 array.db.students.updateMany[ { }, { $push: { scores: 95 } } ]
{ $push: { : { : , ... }, ... } }
0Sau khi hoạt động, chỉ có ba câu đố ghi điểm cao nhất trong mảng:
{ $push: { : { : , ... }, ... } }
1