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标志:

  1. deletion criteria :(可选)删除标准,根据文件将被删除。

  2. 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)插入文档,更新文档,删除文档的更多相关文章

  1. jQuery文档处理(增加与删除文档)

    1.追加内容

  2. mybatis批量插入、批量更新和批量删除

    转载 https://www.jianshu.com/p/041bec8ae6d3

  3. Mongodb 笔记02 创建、更新和删除文档

    创建.更新和删除文档          1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...

  4. ElasticSearch查询 第二篇:文档更新

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

  5. MongoDB改动、删除文档的域属性实例

    MongoDB改动.删除文档的域属性实例 在站点的开发中,可能最初的设计不合理.或者后期业务的变更,会造成文档结构会有些无用的属性.须要去删除或改动.因为MongoDB 是无 Schema 的,不像关 ...

  6. MongoDB快速入门(八)- 删除文档

    删除文档 MongoDB 的 remove()方法用于从集合中删除文档.remove()方法接受两个参数.一个是标准缺失,第二是justOne标志 deletion criteria : 根据文件(可 ...

  7. 【Mongodb教程 第九课 】MongoDB 删除文档

    remove() 方法 MongoDB的 remove() 方法用于从集合中删除文档.remove() 方法接受两个参数.第一个是删除criteria ,第二是justOne标志: deletion ...

  8. MongoDB 教程(七):插入文档、更新文档、删除文档

    MongoDB 插入文档 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式 —— BSON是一种类json的二进制形式的存储格式,简称Binary JSON. MongoDB ...

  9. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

随机推荐

  1. 黑马程序员——JAVA基础之函数,重载,内存结构

      ------- android培训.java培训.期待与您交流! ---------- 函数: 什么是函数? • 函数就是定义在类中的具有特定功能的一段独立小程序. • 函数也称为方法. 函数的格 ...

  2. 出现Fatal IO error 11 (资源暂时不可用) on X server :0.0.的可能原因及解决方案

    我在使用python的过程当中发现了这个有这样的错误,后来看了下面这篇文档才知道原因所在. 最近在编写一个局域网的聊天工具,在编写客户端时,我把界面部分和事件处理函数写好后,准备再开一个线程用于接收服 ...

  3. page cache 与 page buffer 转

    page cache 与 page buffer 标签: cachebuffer磁盘treelinux脚本 2012-05-07 20:47 2905人阅读 评论(0) 收藏 举报  分类: 内核编程 ...

  4. Python几个标准类型内建函数

    Python提供了一些内建函数用于基本对象类型:cmp(),repr(),str(),type()和等同于repr()的(' ')操作符 (1)type() type的用法如下: type(objec ...

  5. c++中的dictionary对象:map的使用备忘

    #include <map> #include <iostream> using namespace std; void main(){ map <string, int ...

  6. PHP安装libevent扩展

    1. 下载扩展 官方地址http://pecl.php.net/package/libevent 请根据自己的PHP脚本选择相应版本 如 wget http://pecl.php.net/get/li ...

  7. BNUOJ 1006 Primary Arithmetic

    Primary Arithmetic 来源:BNUOJ 1006http://www.bnuoj.com/v3/problem_show.php?pid=1006 当你在小学学习算数的时候,老师会教你 ...

  8. WCF Client is Open Source

    WCF Client is Open Source Wednesday, May 20, 2015 Announcement New Project WCF We’re excited to anno ...

  9. javascript 中根据sort 方法随机数组 (Math.random)

    var arr = [1,2,3,4,5,6,7,8,9,10]; function Arandom(a,b){ return (Math.random() > 0.5) ? 1 : -1;; ...

  10. 内容模块PC标签调用说明

    内容模块 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 positi ...