mongodb 不重复添加数组方法

同学们在使用MONGODB时,会不会有这样的需求。比如自己喜欢的书保存在数据库中可能是一个数组行式。

1
2
3
4
{
   user: 'boy' ,
   books:[ '华严经' , '三字经' , '圣经' ]
}

假如说boy这个用户,需要读经书,现在他还需要读一本书叫’心经’,可是保存的时候需要检查他喜欢的书中有没有心经,如果没有就添加,有就忽略。这个当然如果程序来查询再添加肯定是不科学的。

mongodb新版本中(2.3)有一个’$addToSet’这个方法向数组中增加值。

1
db.book.update({ 'user' : 'body' }, { '$addToSet' :{books: '心经' }});

这样即使是执行两次以上代码也不会重复添加了。(相比直接用push方式)

那么有的小伙伴就会有问了,如果我想同时添加多个值到数组中,又当如何呢?‘跑客教授’就在这里面告诉大家了

使用’$addToSet’,'$each’的组合方式.

1
2
db.book.update({ 'user' : 'body' }, { '$addToSet' :{books:{ '$each' :[ '心经' , '楞严经' , '阿弥陀佛经' , '金刚经' ]}});
//如此添加可能而知这个小伙伴是个信佛之人哈。

除声明外, 跑步客 文章均为原创,转载请以链接形式标明本文地址

本文地址:   http://www.paobuke.com/develop/pbk1464.html
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值