开发者学堂课程【场景实践 - 基于MongoDB实现商品管理系统:Mongodb的增加和删除数据讲解】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/728/detail/12999
Mongodb 的增加和删除数据讲解
内容介绍:
一、向Mongodb数据库中增加数据
二、从Mongodb数据库中删除数据
一、 向 Mongodb 数据库中增加数据
1.插入文档
db.【cclectionName】.insert({})
2.批量插入文档
在 Mongodb 中不支持批量插入文档
shell 这样执行是精误的 dib.|documentName] insert([0.0.0......])
shell 不支持批量插入
在 Mongodb 中不支持批量插入文档,想完成批量插入可以用mongo的应用驱动或是shell 的 for 循环
接下来,用for循环进行批量插入:
输入for(var i=1;i<=10;i++){
db. persons.insert ({ "name" :i} );
}
回车之后进行查询db. persons.find()
出现以下内容就代表插入成功:
{" _id" : ObjectId("5aa8cc63baf95f1915073ea4"),
”name”:”cat”
{"_id" : 1,"name" : "dog"}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea5"'),"name":1}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea6"),"name":2}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea7"),
"name":3}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea8'), "nam
e":4}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ea9"),"nam
e":5}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eaba),"name":6}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eab"),"name":7}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eac""),"name":8}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ead"),"name":9}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073eae"),"name":10}
3.Save 操作
save 操作和 linsert 操作区别在于当遇到_id相同的情况下 save 完成保存操作,insert 则会报错
"_id" : 1存在,用inset进行插入
在上文代码的下面输入Db.persons.insert({_id:1, "name":"11"})
回车,E11000 duplicate key error index: itcast.persons.$_id_ dup key: { : 1.0 }
出现报错,错误的意思是由于数据库ID是唯一的,不能插入ID
用save进行操作:Db.persons.save({_id:1, "name":"11"})
之前的是 "name" : "dog"
操作没有报错,输入 db.persons.find()之后,
{" _id" : ObjectId("5aa8cc63baf95f1915073ea4"),
”name”:”cat”
{"_id" : 1,"name" : "11"}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea5"'),"name":1}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea6"),"name":2}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea7"),
"name":3}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea8'), "nam
e":4}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ea9"),"nam
e":5}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eaba),"name":6}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eab"),"name":7}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eac""),"name":8}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ead"),"name":9}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073eae"),"name":10}
用 insert 插入时是报错的,"name" : "dog";而用save插入数据时,"_id" : 1存在,save 变成修改操作,对"name" : "dog"进行覆盖变成"name" : "11"
二、从 Mongodb 数据库中删除数据
1.删除列表中所有数据
db.【collectionName】.remove()
集合的本身和索引不会别删除
如果输入 db.persons.remove( )就可以将上面的内容全部删除
2.根据条件删除
db.[collectionName].remove({})
删除集合 text 中 'name 等于 uspcat 的纪录
db.teat.remove({name?:"uspcat"})
假如需求是删除name是10的一行数据:
db.persons.remove({“name”:10} )
db.persons.find()
{" _id" : ObjectId("5aa8cc63baf95f1915073ea4"),
”name”:”cat”
{"_id" : 1,"name" : "11"}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea5"'),"name":1}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea6"),"name":2}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073ea7"),
"name":3}
{"_id" :ObjectId("5aa8d2cbbaf95f1915073ea8'), "nam
e":4}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ea9"),"nam
e":5}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eaba),"name":6}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eab"),"name":7}
{"_id" : ObjectId("5aa8d2cbbaf95f1915073eac""),"name":8}
{"_id" : 0bjectId("5aa8d2cbbaf95f1915073ead"),"name":9}
表示第10行数据已经被删除。
删除单条记录需要指定;如果要删除全部 remove(),括号里面不加参数。