Thay thếBằng MongoDB

Lưu ý rằng mọi tài liệu có chuỗi "Tây" trong trường hội nghị hiện có "Tây" trong trường hội nghị

Bất kỳ tài liệu nào không có chuỗi “Tây” trong trường hội nghị chỉ cần giữ chuỗi gốc của chúng

Thêm trường mới vào tài liệu.

db.scores.insertMany([   { _id: 1, student: "Maya", homework: [ 10, 5, 10 ], quiz: [ 10, 8 ], extraCredit: 0 },   { _id: 2, student: "Ryan", homework: [ 5, 6, 5 ], quiz: [ 8, 8 ], extraCredit: 8 }])
9 xuất tài liệu chứa tất cả các trường hiện có từ tài liệu đầu vào và các trường mới được thêm vào

Sân khấu là một bí danh cho

Cả hai giai đoạn tương đương với một giai đoạn xác định rõ ràng tất cả các trường hiện có trong tài liệu đầu vào và thêm các trường mới

có dạng sau

{ $set: { <newField>: <expression>, .. } }

Chỉ định tên của từng trường để thêm và đặt giá trị của nó thành một. Để biết thêm thông tin về biểu thức, hãy xem

Quan trọng

Nếu tên của trường mới giống với tên trường hiện có (bao gồm cả

db.scores.aggregate( [   {     $set: {        totalHomework: { $sum: "$homework" },        totalQuiz: { $sum: "$quiz" }     }   },   {     $set: {        totalScore: { $add: [ "$totalHomework", "$totalQuiz", "$extraCredit" ] } }   }] )
8), thì
db.scores.insertMany([   { _id: 1, student: "Maya", homework: [ 10, 5, 10 ], quiz: [ 10, 8 ], extraCredit: 0 },   { _id: 2, student: "Ryan", homework: [ 5, 6, 5 ], quiz: [ 8, 8 ], extraCredit: 8 }])
9 sẽ ghi đè giá trị hiện có của trường đó bằng giá trị của biểu thức đã chỉ định

Cư xử

nối thêm các trường mới vào tài liệu hiện có. Bạn có thể bao gồm một hoặc nhiều giai đoạn

db.scores.insertMany([   { _id: 1, student: "Maya", homework: [ 10, 5, 10 ], quiz: [ 10, 8 ], extraCredit: 0 },   { _id: 2, student: "Ryan", homework: [ 5, 6, 5 ], quiz: [ 8, 8 ], extraCredit: 8 }])
9 trong hoạt động tổng hợp

Để thêm trường hoặc các trường vào tài liệu nhúng (bao gồm cả tài liệu trong mảng), hãy sử dụng ký hiệu dấu chấm. Nhìn thấy

Để thêm một phần tử vào trường mảng hiện có với , hãy sử dụng with. Nhìn thấy

ví dụ

Sử dụng hai giai đoạn db.scores.insertMany([ { _id: 1, student: "Maya", homework: [ 10, 5, 10 ], quiz: [ 10, 8 ], extraCredit: 0 }, { _id: 2, student: "Ryan", homework: [ 5, 6, 5 ], quiz: [ 8, 8 ], extraCredit: 8 }])9

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

{  "_id" : 1,  "student" : "Maya",  "homework" : [ 10, 5, 10 ],  "quiz" : [ 10, 8 ],  "extraCredit" : 0,  "totalHomework" : 25,  "totalQuiz" : 18,  "totalScore" : 43}{  "_id" : 2,  "student" : "Ryan",  "homework" : [ 5, 6, 5 ],  "quiz" : [ 8, 8 ],  "extraCredit" : 8,  "totalHomework" : 16,  "totalQuiz" : 16,  "totalScore" : 40}
5 mẫu với những điều sau đây

db.scores.insertMany([   { _id: 1, student: "Maya", homework: [ 10, 5, 10 ], quiz: [ 10, 8 ], extraCredit: 0 },   { _id: 2, student: "Ryan", homework: [ 5, 6, 5 ], quiz: [ 8, 8 ], extraCredit: 8 }])

Hoạt động sau đây sử dụng hai giai đoạn để bao gồm ba trường mới trong tài liệu đầu ra

db.scores.aggregate( [   {     $set: {        totalHomework: { $sum: "$homework" },        totalQuiz: { $sum: "$quiz" }     }   },   {     $set: {        totalScore: { $add: [ "$totalHomework", "$totalQuiz", "$extraCredit" ] } }   }] )

Hoạt động trả về các tài liệu sau

{  "_id" : 1,  "student" : "Maya",  "homework" : [ 10, 5, 10 ],  "quiz" : [ 10, 8 ],  "extraCredit" : 0,  "totalHomework" : 25,  "totalQuiz" : 18,  "totalScore" : 43}{  "_id" : 2,  "student" : "Ryan",  "homework" : [ 5, 6, 5 ],  "quiz" : [ 8, 8 ],  "extraCredit" : 8,  "totalHomework" : 16,  "totalQuiz" : 16,  "totalScore" : 40}

Thêm trường vào tài liệu nhúng

Sử dụng ký hiệu dấu chấm để thêm các trường mới vào tài liệu được nhúng

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

{  "_id" : 1,  "student" : "Maya",  "homework" : [ 10, 5, 10 ],  "quiz" : [ 10, 8 ],  "extraCredit" : 0,  "totalHomework" : 25,  "totalQuiz" : 18,  "totalScore" : 43}{  "_id" : 2,  "student" : "Ryan",  "homework" : [ 5, 6, 5 ],  "quiz" : [ 8, 8 ],  "extraCredit" : 8,  "totalHomework" : 16,  "totalQuiz" : 16,  "totalScore" : 40}
7 với nội dung sau

{ $set: { <newField>: <expression>, .. } }
1

Hoạt động tổng hợp sau đây thêm một trường mới

{ $set: { <newField>: <expression>, .. } }
20 vào mỗi tài liệu chứa giá trị trung bình của mảng
{ $set: { <newField>: <expression>, .. } }
21

Làm cách nào để thay thế dữ liệu trong MongoDB?

Trong MongoDB, bạn được phép thay thế một tài liệu hiện có bằng một tài liệu mới trong bộ sưu tập với sự trợ giúp của db. bộ sưu tập. phương thức replaceOne() . Phương pháp này sẽ thay thế tài liệu hiện có bằng tài liệu thay thế.

Thay thếRoot là gì?

Định nghĩa. $replaceRoot. Thay thế tài liệu đầu vào bằng tài liệu được chỉ định . Thao tác thay thế tất cả các trường hiện có trong tài liệu đầu vào, bao gồm cả trường _id. Bạn có thể thăng cấp một tài liệu nhúng hiện có lên cấp cao nhất hoặc tạo một tài liệu mới để thăng cấp (xem ví dụ).

Làm cách nào để cập nhật dữ liệu hàng loạt trong MongoDB?

Chúng ta có thể sử dụng phương thức initializeOrderedBulkOp() hoặc initializeUnorderedBulkOp() để thực hiện các thao tác hàng loạt trong MongoDB . Chúng tôi cần sử dụng số lượng lớn. exec() để chạy tất cả các hoạt động được xây dựng bởi các phương thức hàng loạt. Từ phiên bản MongoDB, 4. 2 phương pháp cập nhật hàng loạt sẽ chấp nhận tập hợp đường ống.

Làm cách nào để sử dụng $set trong MongoDB?

Toán tử $set thay thế giá trị của một trường bằng giá trị đã chỉ định . Biểu thức toán tử $set có dạng như sau. { $set. {