MongoDB数据库的CURD的一些基本语句

  • 时间:
  • 浏览:0

db.集合名.save({键:值,键:值,键:值........})save()办法 和insert()办法 的区别在于,save会先判断集合当中有无居于相同的文档,由于居于不执行插入,由于不居于则执行插入。删除文档: SQL语句:

2.$addToSet修改器 要完成以上需求,亲们还非要原来来做:

{"name":"捷哥浅谈MongoDB"} 有些的键全部都是被”干掉“,只留下name键,这显然全部都是亲们你都还还上能的结果,不多不多不多不多有在update办法 中,$set是最常用的修改器。

3.$inc 增加或减少 使用办法 :db.collname.update({"name":"捷哥浅谈PHP"},{'$inc':{"total":1}},0,1)

本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/6186326.html,如需转载请自行联系原作者

亲们现在有原来一六个 需求,在网页当中由于用户勾选了有些爱好的复选框,亲们就批量执行插入那些爱好。

有些童鞋会原来想,亲们使用$push由于$addToSet直接插入数组就行:

db.user.update({"name":"捷哥"},{'$push':{"hobby":["PHP","JAVA"]}}) 亲们认为原来还非要吗?答案有无定的,执行该条语句后的结果为:

db.集合名.remove({匹配条件})修改文档: SQL语句:

那由于亲们现在要删除爱好底下的“sing”,这名元素既全部都是开头第一六个 元素,全部都是的是末尾的最后一六个 元素,显然亲们使用$pop由于满足不了这名需求了,这时亲们就非要使用$pull修改器了。

5.$pull 修改器 作用:删除数组当中的指定元素

db.表名.update({条件},{要更改的内容},upsert,有无批量修改) 在MongoDB中,update办法 有六个参数:

童鞋们,由于我现在有原来的需求,由于用户“李文凯”由于评论过此微博,亲们就我不多 其再进行评论,亲们思考一下,要为什么我做?

亲们有无还非要通过判断来做,先写一六个 伪代码,------》由于评论内容中居于要更新的新评论,即name和content的值在评论当中由于居于,亲们就不执行更新,有就说 则更新插入name为“李文凯”的新评论,原来还非要有效的外理灌水。

好,亲们用代码来实现:

db.collname.update({"name":" 李文凯","comm":{'$ne':{"name":"李文凯","content":"内容很精彩,千万不多错过哦!"}}},{'$push' :{"comm":{"name":"李文凯",content:"内容很精彩,千万不多错过哦!"}}}); 原来判断会造成很大的麻烦,亲们的$addToSet修改器这名就蕴藏原来的功能,亲们来试试:

插入文档:

SQL语句:

INSERT INTO 表名 (列名.......) VALUES(对应的列值.........);

MongoDB语句:

db.集合名.insert({键:值,键:值,键:值.........})

这显然全部都是亲们你都还还上能的结果,原来就非要亲们使用$each来配合$addToSet来使用。

3.$each 亲们来看$each,这里亲们原来来实现:

正如童鞋们所见,原来的结果才是亲们你都还还上能的结果。

注意:$each非要使用$push配合使用,非要使用$addToSet。4.$pop 修改器 作用:删除数组的第一六个 元素由于最后一六个 元素

2.$unset 修改器 说到unset,还记得PHP当中的unset()函数吗,它的功能是删除一六个 已声明的变量。

“1”表示从数组末尾删除一六个 元素,“-1”表示从数组开头删除一六个 元素,有就说 ,

db.user.update({"name":"捷哥"},{'$pop':{"hobby":-1}}); 运行后的文档更新为:

db.user.update({"name":"捷哥"},{'$addToSet':{"hobby":{'$each':["PHP","JAVA"]}}}) 原来亲们更新后的文档为:

由此可见,$pull还非要删除数组中的指定的元素,也倘若说亲们还非要任意删除指定的爱好兴趣。

好了,今天把亲们常用的修改器都给亲们讲了一下,我想知道亲们都能看明白吗,有难题语句还非要跟帖回复提问,也还非要给我发邮件lijie@lampbrother.net

db.collname.update({"comm.name":"李文凯"},{'$set':{"comm.$.content":"我是李小凯"}}) 亲们再考虑原来一六个 难题,由于亲们的一六个 用户集合当中,居于一六个 用户文档,底下有姓名,性别,年龄,爱好(以数组的形式存储)等键,例如:

由于有一六个 新的用户“李文凯”,来评论这条微博,内容为:“内容很精彩,千万不多错过哦!”,该为什么我样往这条微博底下插入。

这就用到了咱们的数组修改器:

亲们来看:

1.$push 修改器 作用:向数组末尾插入一六个 元素,由于沒有就创建一六个 新的数组

1.$set 修改器使用办法 :db.collname.update({"name":"捷哥浅谈PHP"},{'$set':{"name":"捷哥浅谈MongoDB"}},0,1) 这条命令的意思是:将满足name为"捷哥浅谈PHP"的文档的name键更改成"捷哥浅谈MongoDB"

db.collname.update({"name":"李文凯"},{'$addToSet' :{"comm":{"name":"李文凯",content:"内容很精彩,千万不多错过哦!"}}}); 亲们还非要看到,$addToSet前面不非要进行判断,就能达到亲们的$ne配合$push完成的效果。

{"name":"捷哥浅谈PHP","age":1,"total":12} 童鞋们考虑一下,由于我现在有原来一六个 微博的文档,内含每被委托人的评论信息: