$ 单个更新数组中元素 bengbu_meituan 更改为text_meituan
(
{“name": "刘昌颜", "city_spelling_list": "bengbu_meituan"},
{"$set": {"city_spelling_list.$": "text_meituan"}}
)
$pull单个删除数组中元素
(
{"name": "刘昌颜"},
{"$pull": {"platform_list": "elem"}}
)
$pop 删除数组中以第一个元素 删除数组中最后一个元素
({_id:1}, {$pop:{ids:-1}})
({_id:1}, {$pop:{ids:1}})
$addToSet 向文档数组中添加多个元素
(
{_id:1},
{$addToSet: tags: 标签}
)
注: 向tags数组中添加元素,如果元素存在则过滤(去重效果)
$addToSet 与 $each 向文档数组中添加多个值,
注: 如果a1存在值添加a4 有去重效果
({"name": "刘昌颜"}, {"$addToSet": {"platform_list": {"$each": ["a1", "a4"]}}})
注: 1. 如果更新的文档中缺少更新字段,则创建具有指定值作为其元素的数组字段,
2.如果更新字段不是数组,则更新失败,
3.如果要添加的值是数组,则将整个数组作为单个元素追加 ,[1, 2,3 [4, 5, 6]]
$push $each 向数组中添加多个值 覆盖式 不去重
({"name": "刘昌颜"}, {"$push": {"platform_list": {"$each": ["a1", "a2", "a3"]}}})
$position 与 $push 向数组指定位置添加元素 按index
(
{_id: 1, },
{$push: {platform_list:{$each:[value, value],$position:2}}}
)
# 有增加 就有删除
$ pull 批量删除数组中元素 $in
{"name": "刘昌颜"}, {"$pull": {"platform_list": {"$in": ["a1", "a9", "a4"]}}}
$pullAll 批量删除数组中元素
(
{"name": "刘昌颜"},
{"$pullAll": {"platform_list": ["a1", "a3"]}}
)
$slice $push 限制数组中大小 按index 只保留最后3个
(
{_id:1},
{$push: {platform_list: {$each:[1, 3, 5], $slice: -3}}}
)
$sort $push 从新排序数组 1正序 -1 倒序
(
{_id:1},
{$push:{platform_list: {$each:[1,11, 99], $sort: 1}}}
)