$push
作用:像已有的数组末尾加入一个元素,要是元素不存在,就会创建一个新的元素。
spring mongodb中的使用:
Update update = new Update().push("friendUserNames", friendUserName);
$ne
用法:
1、不存在:一个值不在数组里时就把它加进去,避免重复数据
此处意思为:如果Richie不在数组authors cited里时,把Richie加入到authors cited中。
2、类似不等于
db.users.find({"name":{"$ne":"refactor1"}})
查出所有name不等refactor1的文档,注意 文档中不存在键name的文档也会被查出来
$addtoset
作用:往数组里面加入数据,如果数组里已经存在,则不会加入(避免重复)
mongodb代码:
Update update = new Update().addtoset("friendUserNames", friendUserName);
将”
addToSet"和"
each”组合起来,可以添加多个不同的值,二用”
ne"和"
push”组合就不能实现。
$pop
删除数组元素,只能从头部或尾部删除一个元素
$pull
删除数组元素,将所有匹配的元素删除。
小结
以上是monggodb数组修改器的介绍。有的地方是用原生mongodb讲解,有的地方则是用spring mongodb讲解。这些都没关系,因为我这篇文章的目的是:理清这些数组修改器用处,知道有这么个东西,并且知道什么场景下用哪个修改器。