Mongodb(3)插入文档,更新文档,删除文档
insert() 方法
要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法。
插入文档:db.COLLECTION_NAME.insert(document)
> show collections
col_1
col_2
runoob
system.indexes
> db.mycol.insert({"title":"MongoDb overview"})#如果之前该集合不存在,则重新创建集合
WriteResult({ "nInserted" : 1 })#成功插入文档
> show collections
col_1
col_2
mycol
runoob
system.indexes
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "title" : "MongoDb overview" }
MongoDB的 update() 和 save() 方法用于更新文档的集合。 update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法。
MongoDB Update() 方法
update()方法更新现有文档值。
更新文档:db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "title" : "MongoDb overview" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "mongodb" }
> db.mycol.update({"name":"no name"})#做了个测试
2016-07-21T14:39:29.359+0800 E QUERY Error: need an object
at Error (<anonymous>)
at DBCollection._parseUpdate (src/mongo/shell/collection.js:400:21)
at DBCollection.update (src/mongo/shell/collection.js:432:23)
at (shell):1:10 at src/mongo/shell/collection.js:400
> db.mycol.update({"title":"mongodb"},{$set:{"title":"change mongodb"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "title" : "MongoDb overview" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb" }
> db.mycol.update({"title" : "change mongodb"},{$set:{"name":"no name"}})#然后又做了一次改变,是在后面追加的
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "title" : "MongoDb overview" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
MongoDB Save() 方法
save() 方法替换现有的文档和通过新的文档 save() 方法
语法
MongoDB 的 save() 方法的基本语法如下:
替换现有文档:db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "title" : "MongoDb overview" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
> db.mycol.save({"_id" : ObjectId("57906a93b2dade9538e2ac1e"),"name":"mongodb","by":"save"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
>
MongoDB的 remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:
deletion criteria :(可选)删除标准,根据文件将被删除。
justOne : (可选)如果设置为true或1,然后只删除一个文件。
删除文档:db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906dd3b2dade9538e2ac1f"), "title" : "alili MongoDb" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
> db.mycol.remove({"title":"alili MongoDb"})
WriteResult({ "nRemoved" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
> db.mycol.insert({"name":""})
WriteResult({ "nInserted" : 1 })
> db.mycol.insert({"name":""})
WriteResult({ "nInserted" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
{ "_id" : ObjectId("579077d9b2dade9538e2ac21"), "name" : "" }
{ "_id" : ObjectId("579077dbb2dade9538e2ac22"), "name" : "" }
> db.mycol.remove({"name":""})#相同的都会删去的
WriteResult({ "nRemoved" : 2 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
>
只删除一个:db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
{ "_id" : ObjectId("5790789fb2dade9538e2ac23"), "age" : "" }
{ "_id" : ObjectId("579078a1b2dade9538e2ac24"), "age" : "" }
{ "_id" : ObjectId("579078a4b2dade9538e2ac25"), "age" : "" }
> db.mycol.remove({"age":""},1)
WriteResult({ "nRemoved" : 1 })
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
{ "_id" : ObjectId("579078a1b2dade9538e2ac24"), "age" : "" }
{ "_id" : ObjectId("579078a4b2dade9538e2ac25"), "age" : "" }
>
删除集合的所有的内容:db.COLLECTION_NAME.remove({})
> db.mycol.find()
{ "_id" : ObjectId("57906a93b2dade9538e2ac1e"), "name" : "mongodb", "by" : "save" }
{ "_id" : ObjectId("57906ddfb2dade9538e2ac20"), "title" : "change mongodb", "name" : "no name" }
{ "_id" : ObjectId("579078a1b2dade9538e2ac24"), "age" : "" }
{ "_id" : ObjectId("579078a4b2dade9538e2ac25"), "age" : "" }
> db.mycol.remove()#抛出了异常,去搜了下
2016-07-21T15:33:45.122+0800 E QUERY Error: remove needs a query
at Error (<anonymous>)
at DBCollection._parseRemove (src/mongo/shell/collection.js:305:32)
at DBCollection.remove (src/mongo/shell/collection.js:328:23)
at (shell):1:10 at src/mongo/shell/collection.js:305
> db.mycol.remove({})
WriteResult({ "nRemoved" : 4 })
> db.mycol.find()
>
Mongodb(3)插入文档,更新文档,删除文档的更多相关文章
- jQuery文档处理(增加与删除文档)
1.追加内容
- mybatis批量插入、批量更新和批量删除
转载 https://www.jianshu.com/p/041bec8ae6d3
- Mongodb 笔记02 创建、更新和删除文档
创建.更新和删除文档 1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...
- ElasticSearch查询 第二篇:文档更新
<ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...
- MongoDB改动、删除文档的域属性实例
MongoDB改动.删除文档的域属性实例 在站点的开发中,可能最初的设计不合理.或者后期业务的变更,会造成文档结构会有些无用的属性.须要去删除或改动.因为MongoDB 是无 Schema 的,不像关 ...
- MongoDB快速入门(八)- 删除文档
删除文档 MongoDB 的 remove()方法用于从集合中删除文档.remove()方法接受两个参数.一个是标准缺失,第二是justOne标志 deletion criteria : 根据文件(可 ...
- 【Mongodb教程 第九课 】MongoDB 删除文档
remove() 方法 MongoDB的 remove() 方法用于从集合中删除文档.remove() 方法接受两个参数.第一个是删除criteria ,第二是justOne标志: deletion ...
- MongoDB 教程(七):插入文档、更新文档、删除文档
MongoDB 插入文档 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式 —— BSON是一种类json的二进制形式的存储格式,简称Binary JSON. MongoDB ...
- MongoDB学习笔记二:创建、更新及删除文档
插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...
随机推荐
- JsonModelStrategy策略添加
今天在学习 zf2的时候,发现后端如果返回的是JsonModel的话,则在前台异步请求的时候发现取不到数据了,后来经过多次研究,才发现要在view_manager中创建策略,代ma是这样子的,stra ...
- poj2186 强连通
题意:有 n 头牛,以及一些喜欢关系,牛 A 喜欢牛 B,这种关系可以传递,问有多少头牛被牧场上所有牛喜欢. 首先强连通,因为在同一个强连通分量中牛是等价的,然后对于一个有向无环图看是否只有一个强连通 ...
- VC++ MFC橡皮筋技术
在MFC下绘制直线,使用橡皮筋技术,可以使直线效果跟随鼠标移动 //OnLButtionDown m_ptOrigin = m_ptEnd = point; //OnMouseMove ...
- 学习笔记之 初试Caffe,Matlab接口提取feature
Caffe 提供了matlab接口,可以用于提取图像的feature.
- requests
>>>import requests>>> r = requests.get('http://www.zhidaow.com') # 发送请求>>&g ...
- Iaas-cloudstack2
流程是下面的模板安装脚本,将对应的hypervisor模板下载下来并另存为临时文件,并解压缩,并将其移动到二级存储相应目录下,仅完成此工作. [root@manage nfs]# /usr/share ...
- unity, collider/trigger on children
参考:http://answers.unity3d.com/questions/410711/trigger-in-child-object-calls-ontriggerenter-in-pa.ht ...
- [转]php和html混编的三种方式
php和html混编的三种方式 以下内容转自:http://blog.i1728.com/post/110.html 原文标题是:<PHP的(<<>,新标题是我加的,文章里的红 ...
- linux下openoffice的安装和启动
下载openoffice的安装包(注意选择合适的安装包): http://www.openoffice.org/download/archive.html 一.安装openOffice1.使用tar ...
- 使用CAJViewer 提取PDF文件中的文字
使用 CAJViewer 7.2 软件,把pdf格式的文件提取出文字. 操作步骤参考:http://jingyan.baidu.com/article/d45ad148cd06e469552b800f ...