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 ...
随机推荐
- 关于ZF2中一点感悟,service_manager
在zf2中,在serviceLoctor中自定义的内容,可以通$serviceLocator->get('config')['key'],如果是在serivce_manger中定义的服务名,其实 ...
- as3 中 textfiled的htmltext 的常用属性
http://blog.sina.com.cn/s/blog_6d193c030100x6ud.html <a> 超链接标签 属性:href: 链接地址 target: 目标窗口 可取值为 ...
- bootstrap源码里的function加上了+号
一般看JQuery插件里的写法是这样的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript组件是这样写的 !function( $ ){ ...
- PHP-网页跳转的几种方式
本文总结了跳转到指定网页的几种方式. 1.利用PHP的header函数Location响应头, header是用来向浏览器返回HTTP响应头(详细请看HTTP协议详解) <?php header ...
- javaScript call 函数的用法说明
call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.ar ...
- debug,trace,release项目配置区别
Debug模式是用来调试用的,它生成的执行文件中含有大量调试信息,所以很大: Release模式生成的执行文件消除了这些调试信息,可用来作为成品发布 Debug只在debug状态下会输出,Trace在 ...
- C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
- 018. ADO.NET _DataSet_DataAdapter
DataSet对象是支持ADO.NET的断开式或分布式数据方案的核心对象; DataAdapter对象是一种用来充当DataSet对象与实际数据源之间的桥梁 的对象, 所以二者结合访问数据库中数据模式 ...
- 001. 为input type=text 时设置默认值
1. 前端HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defa ...
- Android 常遇错误解决方案
遇到问题描述: 运行android程序控制台输出 [2012-07-18 16:18:26 - ] The connection to adb is down, and a severe error ...