MongoDB 插入、更新、删除
向 集合 添加新文档
从 集合 里删除文档
更新 现有文档
1. 插入并保存文档
这个操作会给文档增加一个"_id"键 (如果 原来没有这个键的话),然后保存到MongoDB中
{ "_id" : ObjectId("4fdc779a89834bfb0bd267a3"), "bar" : "baz" }
文档不能超过 4 MB , 可以 用 Object.bsonsize( 文档 ) 查看文档转换为 BSON 的大小 (以 字节 为 单位)
... new Date()}
{
"title" : "My Blog post",
"content" : "Here's my blog post.",
"date" : ISODate("2012-06-16T12:19:25.163Z")
}
> Object.bsonsize(post)
77
2. 删除文档
db.foo.remove() 会删除foo集合中所有的文档,当不会删除集合本身,原来的索引也会保留。
{ "_id" : ObjectId("4fdc779a89834bfb0bd267a3"), "bar" : "baz" }
> show collections
foo
system.indexes
> db.foo.remove()
> show collections
foo
system.indexes
> db.foo.find()
>
remove() 函数可以接受 一个查询文档 作为可选 参数, 这样只有符合条件的参数 才被删除。
... new Date()}
{
"title" : "My Blog post2",
"content" : "Here's my blog post2.",
"date" : ISODate("2012-06-16T12:41:34.429Z")
}
> db.foo.insert(post2)
> db.foo.find()
{ "_id" : ObjectId("4fdc7e1889834bfb0bd267a4"), "title" : "My Blog post", "conte
nt" : "Here's my blog post.", "date" : ISODate("2012-06-16T12:19:25.163Z") }
{ "_id" : ObjectId("4fdc7f2689834bfb0bd267a5"), "title" : "My Blog post2", "cont
ent" : "Here's my blog post2.", "date" : ISODate("2012-06-16T12:41:34.429Z") }
> db.foo.remove({"title":"My Blog post2"})
> db.foo.find()
{ "_id" : ObjectId("4fdc7e1889834bfb0bd267a4"), "title" : "My Blog post", "conte
nt" : "Here's my blog post.", "date" : ISODate("2012-06-16T12:19:25.163Z") }
>
remove 删除数据是永久性的,不能撤销,也不能恢复。
另一个 删除命令 db.runCommand({"drop":"foo"}) 。
3. 更新
最简单的方法 用一个新文档 替换 原文档。 这种 适用于 结构变化较大的时候。
... "friends":32,
... "enemies":2
... }
{ "name" : "joe", "friends" : 32, "enemies" : 2 }
> db.user.insert(user)
> db.user.find()
{ "_id" : ObjectId("4fdc893d89834bfb0bd267a6"), "name" : "joe", "friends" : 32,
"enemies" : 2 }
例如:
{
"_id" : ObjectId("4fdc893d89834bfb0bd267a6"),
"name" : "joe" ,
"friends" : 32 ,
"enemies" : 2
}
改变为
{
"_id" : ObjectId("4fdc893d89834bfb0bd267a6"),
"username" : "joe" ,
"relationships" :
{
"friends" : 32 ,
"enemies" : 2
}
}
可以用update 来替换文档:
> joe.relationships = { "friends":joe.friends , "enemies" : joe.enemies};
{ "friends" : 32, "enemies" : 2 }
> joe.username = joe.name
joe
> delete joe.name
true
> delete joe.friends
true
> delete joe.enemies
true
> db.user.find()
{ "_id" : ObjectId("4fdc893d89834bfb0bd267a6"), "name" : "joe", "friends" : 32,
"enemies" : 2 }
> db.user.update({"name":"joe"},joe);
> db.user.find()
{ "_id" : ObjectId("4fdc893d89834bfb0bd267a6"), "relationships" : { "friends" :
32, "enemies" : 2 }, "username" : "joe" }
>
转载于:https://www.cnblogs.com/anan/archive/2012/06/16/2552088.html
MongoDB 插入、更新、删除相关推荐
- c 更新mysql数据_MySQL插入更新删除数据
数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...
- mysql更新记录删除_mysql 插入-更新-删除
a_liujin:main thread(UI thread),worker thread和asyntask (http://www.2cto.com/kf/201203/122729.html)|@ ...
- asp vb 插入,更新,删除数据库操作。
记笔记. 离开学校,东西都还给老师了,哎. Select Case str Case "insert": sql="select * from ["&a ...
- mongodb java 更新数据_MongoDB JAVA API更新数据示例
[java获得数据库信息常用API(DatabaseMetaData)示例] /** * MongoDBTest * MongoDB更新数据使用示例 */ package com.labci.mong ...
- python操作sqlserver如何判断删除的数据不存在_Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法...
本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法.分享给大家供大家参考,具体如下: 前言: 想把QQ日志爬虫(Python)爬下来的日志保存到 MongoD ...
- mysql插入第一_mySQL教程 第5章 插入 更新与删除数据
第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...
- 判断触发器正在处理的是插入,删除还是更新触发
平常时写触发器(TRIGGER),一般会分别写插入(INSERT),删除(DELETE)和更新(UPDATE)单独的触发器. 但是有时候,可以视看处进逻辑程度,可以把三者写成一个触发器,只是在其中稍作 ...
- mySQL教程 第5章 插入 更新与删除数据
第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...
- arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
风过无痕 原文 arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新 深入理解游标Cursors,实现数据的快速查找,插入,删除,更新 1.查找数据Search Cu ...
- JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。...
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...
最新文章
- opencv 斑马线,条纹检测
- SQL Server中常用的SQL语句
- 《JavaScript凌厉开发 Ext详解与实践》3月5日开始上架销售
- java命令依赖第三方jar原理_java命令执行带jar包依赖的文件执行不了
- python matlab大数据,Python第八课:Python数据分析基础
- java php python 高并发_关于php如何调用Python快速发送高并发邮件的示例代码
- ASP.NETCore编程实现基本认证
- 64位Ubuntu提示(...adb": error=2, 没有那个文件或目录)
- Java 习题(面向对象)
- c语言生成迷宫算法,[原创]递归随机迷宫生成算法详解
- 辐流式重力浓缩池计算_注册考试重点!平流式、竖流式、辐流式、斜板式4大沉淀池构型...
- 「深度」5G,真的有必要在2020年占领我们吗?
- pycharm添加python注释头_Pycharm自动添加头注释
- arm和thumb指令模式
- Gym101237C The Palindrome Extraction Manacher、SAM、倍增
- live2d内嵌html,live2d web端加载moc3模型
- 第一章	HTML基础
- 使用激光可调湿蚀刻曲面实现无间隙微透镜阵列的通用
- python无向加权图_NetworkX:无向加权图的近似/不精确子图同构
- 仿爱奇艺加载dialog
热门文章
- ondestroy什么时候调用_JavaScript基础——你真的清楚JavaScript是什么吗?
- Qt_共享内存(QSharedMemory)未完成
- hexo需要先编辑好html文件吗,教你定制Hexo的landscape打造自己的主题_html/css_WEB-ITnose...
- php 参数 问号_php获取不到url问号之后的参数
- 【牛客网】:数据结构——时间复杂度,算法复杂度
- 【车牌识别】+【模板匹配】基于智能交通的车牌识别系统
- 二维卷积神经网络的结构理解
- 循环神经网络(RNN)Recurrent Neural Networks
- 能取代top命令的htop
- Linux下查看CPU个数