问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

新手如何自学MongoDB

发布网友 发布时间:2022-05-02 15:49

我来回答

2个回答

懂视网 时间:2022-05-02 20:10

id自动给我们加密了,是不是非常的炫酷。

 文档的Delete:

db.zaraList.remove({‘name‘:‘zara‘})#删除所有name=李华的文档
db.zaraList.remove({‘name‘:‘zara‘},{justOne:1})#删除一条name=李华的文档

聪明的小伙伴,现在绝对想到了,刚才我们插入的id是个加密的了,那我们怎么删除它呢?

 db.zaraList.remove({"_id":ObjectId("5bf8b297ac045dc7d0a20b2c")})

 一些方法:

db.collection.remove() 删除单个文档或与指定过滤器匹配的所有文档。
db.collection.deleteOne()

即使多个文档可能与指定的过滤器匹配,也最多删除与指定过滤器匹配的单个文档。3.2新版功能。

db.collection.deleteMany()

删除所有匹配指定过滤条件的文档。3.2新版功能。

 需要注意的是remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

如删除集合下全部文档:

db.inventory.deleteMany({})

删除 status 等于 A 的全部文档:

db.inventory.deleteMany({ status : "A" })

删除 status 等于 D 的一个文档:

db.inventory.deleteOne( { status: "D" } )

为什么不推荐呢,好像是因为一个释放的东西,每次remove的时候都需要 db.repairDatabase() 来回收磁盘空间。

>db.repairDatabase()
或者
> db.runCommand({ repairDatabase: 1 })

文档的Update:

db.collection.update(
 <query>,
 <update>,
 {
 upsert: <boolean>,
 multi: <boolean>,
 writeConcern: <document>
 }
)

 参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。
  •  我们在ZaraList中先多插个数据(实际上偷偷的插了几条):

    技术分享图片

    接着我们通过update去更新下这个title吧。

    db.zara.update({‘title‘:‘zara说MongoDb‘},{$set:{‘title‘:‘该吃了呢‘}})
    

      技术分享图片

    为什么只更新第一个符合的呢,这个时候multi 就派上用场了;则需要设置 multi 参数为 true。

    >db.col.update({‘title‘:‘MongoDB 教程‘},{$set:{‘title‘:‘MongoDB‘}},{multi:true})

    如果你没用可视化窗口,那可能查出来的数据是一行一行的,你可以通过格式化进行整合美观点。

    db.zara.find().pretty()
    

    文档的Select

    语法:db.collection.find(query, projection)

    参数解析:

  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
  • and写法:

    db.col.find({key1:value1, key2:value2}).pretty()
    

    Or写法:

    db.col.find(
     {
     $or: [
      {key1: value1}, {key2:value2}
     ]
     }
    ).pretty()

     and 和 or 联合使用

    db.col.find({"likes": {$gt:50}, $or: [{"by": "zara"},{"title": "MongoDB"}]}).pretty()

    三.写到最后(不是大牛就不可以写博客了吗?)

    你不是大牛就更应该写博客,无论你是开发还是运维测试,都是搞技术的,技术发展的很快,难道学完就丢了,过明天在拾起来?你不像那些大牛看看官方文档在自己动动手就可以懂原理的人,你就更没有理由不写博客了。

    【MongoDb入门】15分钟让你敢说自己会用MongoDB了

    标签:bool   insert   那是   返回   需要   center   unit   sha   图片   

    热心网友 时间:2022-05-02 17:18

    练习很重要.老师写的代码自己一定要写一遍,在编程世界中.高手是练出来的.学程序最忌只看不写你可以跟着入门,可以去慕课网找课程学呀,不是学出来和看出来的,但是一定要要注意
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 女生肖马4月和男生肖虎3月相配吗 属马的和属虎的配吗,女属马和男属虎配吗 安装qq时联想电脑管家发现疑似 快影文案下面怎么弄英文 一个刑侦支队的成员是多少?分别是哪些职位?职责分别是什么? 五一假期中原银行上班吗? 刑警是属于公安还是法院的 刑警在哪里工作 请问刑侦支队和刑警支队有什么区别呀,是不是只有地区市才能设支队呀? 老款汉兰达空调前面出热风怎么办? 禁毒支队和刑侦支队哪个牛 汉兰达显示空调优先和刹车有关系吗? 有什么好看的书..? 小说,中国古典小说排名? 刑警支队和大队什么区别? 2018款汉兰达内循环和外循环的标志 派出所有刑警队吗?还是说只有公安局才有刑警队? 各位有什么特好看的小说?推荐下哦,(是穿越的最好了)谢~ 办事去了一个*,叫责任区刑警三队,里面五个人都是民警,刑警队里不应该是刑警吗? 2022款汉兰达暖风怎么关 win10破音怎么弄 京东商城网站在我电脑上总是打不开是怎么回 为什么我电脑打不开京东商城,手机可以 升级了win10,破音 爆音 有没有 玫瑰花语全部 thinkpad x230i设置成从U盘启动,可是启动不起来,为何啊?? 眉毛的描写与人的相关表情 联想x230i怎么用u盘启动 有关人的表情 THINKPAD x230,U盘启动不了,bios怎么设置 联想x230s如何u盘启动 苹果最新版微信(支持黑夜模式),为什么输入一些关键字,会出现相关表情??? thinkpad x230 u盘启动装系统 启动不了 有经验的说下 常规的就不要说了 预装的是win8的系统 眼下一寸多的位置有痣有什么吉凶 护考电脑考试是好久开始 报考护考不是本专业了从事专业年限怎么填 你好,红米手机自带美颜相机吗? 护考国网网报号是什么 京东商城下午14点下单要什么时候能送到 上京东买东西一般什么时候能送货?是晚上还是早上?能说说详情么?第一次上网买东西不太懂这些