
概述(一)
插入文档 插入
文档一共有3种方法,分别如下: # 插入一个或多个文档,如果是多个文档,用数组存放文档 db.<collectionName>.insert(document) # 插
(一)插入文档
插入文档一共有3种方法,分别如下:
# 插入一个或多个文档,如果是多个文档,用数组存放文档db.<collectionname>.insert(document)# 插入1个文档db.>.insertOne(document)# 插入多个文档db.>.insertMany(document)
测试1 :使用db.<collectionname>.insert向集合bolg里面插入1笔数据
> db.blog.insert({ ... Title:"linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理",... link:"https://www.cnblogs.com/lijiaman/p/12885649.HTML",... summary:"(一)相关概念逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先...",... Tags:["linux","study"],... post:"2020-05-13 23:17",... vIEws:57,... comments:[ ... {user:"user1",... message:"mark!",... like:0 ... } ... ],... } ... ) WriteResult({ "nInserted" : 1 })
测试2 :结合数组,使用db.<collectionname>.insert向集合bolg里面插入2笔数据
> db.blog.insert([... {... Title:"如何为linux服务器添加磁盘",... link:"https://www.cnblogs.com/lijiaman/p/12885028.HTML",... summary:"linux服务器如果磁盘不够用了,就需要增加新的磁盘,磁盘添加到使用通常有4个步骤...",... post:"2020-05-13 21:31",... vIEws:25,... comments:"" ... },... { ... Title:"MysqL闪回工具--MyFlash",... link:"https://www.cnblogs.com/lijiaman/p/12770415.HTML",... summary:"MyFlash介绍 MyFlash是美团开发的一个回滚DML *** 作的工具,该工具是开源的...",... Tags:["MysqL",... post:"2020-04-24 21:38",... vIEws:23,... comments:"" ... } ... ]) BulkWriteResult({ "writeErrors" : [ ],"writeConcernErrors" : [ ],"nInserted" : 2,"nUpserted" : 0,"nMatched" : 0,"nModifIEd" : 0,"nRemoved" : 0,"upserted" : [ ] }) >
insertone()和insertMany()方法与insert()方法使用相同,不再演示。
(二)更新文档
(2.1)使用update()方法更新文档
语法为:
db.update({修改前匹配文档},$set{修改字段});默认情况下,MongoDB只会更新一个文档,如果要更新多个文档,需要添加关键字{multi:ture},语法为:
set{修改字段},{multi:true})
例如:更新文档“如何为linux服务器添加磁盘”的评论信息
db.blog.update({Title:"如何为linux服务器添加磁盘"},{$set:{comments:{user:"user2",message:"学习了",like:5}}})确认结果:
> db.blog.find({Title:"如何为linux服务器添加磁盘"}).pretty() { "_ID" : ObjectID("5ebd72d8c50e24a9d8fb2a7c"),"Title" : "如何为linux服务器添加磁盘","link" : "https://www.cnblogs.com/lijiaman/p/12885028.HTML","summary" : "linux服务器如果磁盘不够用了,就需要增加新的磁盘,磁盘添加到使用通常有4个步骤...","Tags" : [ "linux","study" ],"post" : "2020-05-13 21:31","vIEws" : 25,"comments" : { "user" : "user2","message" : "学习了","like" : 5 } } >
(2.2)使用save()方法替换文档
语法为:
save({_ID:ObjectID(),NEW_DATA})
例子:将文档ID为: ObjectID("5ebf7eeac48a7d8eac21ca5c")的文档替换
db.blog.save({"_ID":ObjectID("5ebf7eeac48a7d8eac21ca5c"),"Title" : "使用binlog2sql工具来恢复数据库","link" : "https://www.cnblogs.com/lijiaman/p/12770397.HTML","summary" : "binlog2sql是国内MysqL大佬danfengcao开发,许多MysqL爱好者参与改进的一款MysqL binlog解析软件...","Tags" : [ "MysqL","study" ],"post" : "2020-04-24 21:35","vIEws" : 183,"comments" : [ { "user" : "user1","message" : "good!","like" : 0 } ] })
(三)删除文档
语法为:
db.<collectionname>.remove({符合条件的文档},justOne)remove()方法带2个可选参数:
第1个用于匹配符合条件的文档
justOne:如果为true或1,则只删除一个文档
如果2个可选参数都不填写,则删除所有数据,相当于关系型数据库的truncate命令。
例子1:删除mycol集合中ID为4的文档
> db.mycol.find().pretty() { "_ID" : ObjectID("5ebf87fcf287ff79c4d2eb61"),"ID" : 1,"name" : "a" } { "_ID" : ObjectID("5ebf882df287ff79c4d2eb62"),"ID" : 2,"name" : "b" } { "_ID" : ObjectID("5ebf882df287ff79c4d2eb63"),"ID" : 3,"name" : "c" } { "_ID" : ObjectID("5ebf882ef287ff79c4d2eb64"),"ID" : 4,"name" : "d" }/*执行删除命令*/ > db.mycol.remove({"ID":4}) WriteResult({ "nRemoved" : 1 })> db.mycol.find().pretty(){ "_ID" : ObjectID("5ebf87fcf287ff79c4d2eb61"),"name" : "c" }
例子2:删除mycol集合中ID大于1的文档,只删除一个文档
例子3:删除mycol集合中所有文档
> db.mycol.find({}){ "_ID" : ObjectID("5ebf87fcf287ff79c4d2eb61"),"name" : "a" }{ "_ID" : ObjectID("5ebf882df287ff79c4d2eb63"),"name" : "c" }/*备注:删除所有文档,要加上大括号{},有的文档里面不加大括号,在mongodb 3.4里面执行报错*/ > db.mycol.remove({})WriteResult({ "nRemoved" : 2 })> db.mycol.find({})
【完】
总结
以上是内存溢出为你收集整理的MongoDB文档(一)--插入、更新、删除全部内容,希望文章能够帮你解决MongoDB文档(一)--插入、更新、删除所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)