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