同学们在使用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'
:[
'心经'
,
'楞严经'
,
'阿弥陀佛经'
,
'金刚经'
]}});
//如此添加可能而知这个小伙伴是个信佛之人哈。
|