MongoDB $push 运算符介绍
$push
运算符是 MongoDB 中一种更新操作符,用于将一个或多个值添加到数组的末尾。
语法
{ $push: { <field1>: <value1>, ... } }
使用场景
当需要将一个或多个值添加到现有文档中的数组时,可以使用 $push
运算符。
示例
假设有以下名为 users
的集合:
> db.users.find()
{ "_id" : ObjectId("61fe47557dc8d97c21e492b0"), "name" : "Alice", "scores" : [ 80, 85, 90 ] }
{ "_id" : ObjectId("61fe47557dc8d97c21e492b1"), "name" : "Bob", "scores" : [ 75, 85 ] }
以下示例将向 scores
数组添加一个新元素:
> db.users.updateOne({ name: "Alice" }, { $push: { scores: 95 } })
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
执行上述更新操作后,users
集合的内容如下:
> db.users.find()
{ "_id" : ObjectId("61fe47557dc8d97c21e492b0"), "name" : "Alice", "scores" : [ 80, 85, 90, 95 ] }
{ "_id" : ObjectId("61fe47557dc8d97c21e492b1"), "name" : "Bob", "scores" : [ 75, 85 ] }
以下示例将向 scores
数组添加多个元素:
> db.users.updateOne({ name: "Bob" }, { $push: { scores: { $each: [ 80, 90, 95 ] } } })
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
执行上述更新操作后,users
集合的内容如下:
> db.users.find()
{ "_id" : ObjectId("61fe47557dc8d97c21e492b0"), "name" : "Alice", "scores" : [ 80, 85, 90, 95 ] }
{ "_id" : ObjectId("61fe47557dc8d97c21e492b1"), "name" : "Bob", "scores" : [ 75, 85, 80, 90, 95 ] }
结论
$push
运算符是 MongoDB 中一种更新操作符,用于将一个或多个值添加到数组的末尾。在更新操作时,可以通过 $each
选项向数组中添加多个元素。