官方文档地址:
https://docs.mongodb.com/manual/reference/operator/update/push/
1.最简单的push一个元素不讲
2. $push 时使用$each student 原文档为:
{ "_id" : ObjectId("5c6e02f6f578476166df7db3"), "name" : "jane" }
执行:
db.student.update({“name”:“jane”},{"$push": {“score”:{"$each":[ {math:90}, {art:80} ] } } } );
文档变为:
{ "_id" : ObjectId("5c6e02f6f578476166df7db3"), "name" : "jane", "score" : [ { "math" : 90 }, { "art" : 80 } ] }
3.$push、$sort、$slice 的使用
原文档:
{
"_id" : 5,
"quizzes" : [
{ "wk": 1, "score" : 10 },
{ "wk": 2, "score" : 8 },
{ "wk": 3, "score" : 5 },
{ "wk": 4, "score" : 6 }
]
}
执行:
db.students.update(
{ _id: 5 },
{
$push: {
quizzes: {
$each: [ { wk: 5, score: 8 }, { wk: 6, score: 7 }, { wk: 7, score: 6 } ],
$sort: { score: -1 },
$slice: 3
}
}
}
)
文档变为:
{
"_id" : 5,
"quizzes" : [
{ "wk" : 1, "score" : 10 },
{ "wk" : 2, "score" : 8 },
{ "wk" : 5, "score" : 8 }
]
}