发布网友 发布时间:2022-05-02 15:49
共2个回答
懂视网 时间:2022-05-02 20:10
id自动给我们加密了,是不是非常的炫酷。
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 })
db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )
参数说明:
我们在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()
语法:db.collection.find(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
练习很重要.老师写的代码自己一定要写一遍,在编程世界中.高手是练出来的.学程序最忌只看不写你可以跟着入门,可以去慕课网找课程学呀,不是学出来和看出来的,但是一定要要注意