Mongodb系列- CRUD操作介绍
---恢复内容开始---
一 Create 操作
在MongoDB中,插入操作的目标是一个集合。 MongoDB中的所有写入操作在单个文档的层次上都是原子的。
For examples, see Insert Documents.在这个文档里能看到多个客户端的插入操作,比如:java,python...
这里以java为例 :
1.1 插入一个文档
使用方法: com.mongodb.client.MongoCollection.insertOne
以下示例将新文档插入inventory 集合中。 如果文档未指定_id字段,则驱动程序将带有ObjectId值的_id字段添加到新文档中。
Document canvas = new Document("item", "canvas")
.append("qty", 100)
.append("tags", singletonList("cotton"));
Document size = new Document("h", 28)
.append("w", 35.5)
.append("uom", "cm");
canvas.put("size", size);
collection.insertOne(canvas);
检索你刚插入的文档:
FindIterable<Document> findIterable = collection.find(eq("item", "canvas"));
1.2 插入多个文档
使用方法: com.mongodb.client.MongoCollection.insertMany
Document journal = new Document("item", "journal")
.append("qty", 25)
.append("tags", asList("blank", "red"));
Document journalSize = new Document("h", 14)
.append("w", 21)
.append("uom", "cm");
journal.put("size", journalSize);
Document mat = new Document("item", "mat")
.append("qty", 85)
.append("tags", singletonList("gray"));
Document matSize = new Document("h", 27.9)
.append("w", 35.5)
.append("uom", "cm");
mat.put("size", matSize);
Document mousePad = new Document("item", "mousePad")
.append("qty", 25)
.append("tags", asList("gel", "blue"));
Document mousePadSize = new Document("h", 19)
.append("w", 22.85)
.append("uom", "cm");
mousePad.put("size", mousePadSize);
collection.insertMany(Arrays.asList(journal, mat, mousePad));
检索出所有的文档:
FindIterable<Document> findIterable = collection.find(new Document());
二 Read 操作
读取操作从集合中检索文档; 即从文档中查询集合。 MongoDB提供了以下方法来读取集合中的文档:
可以指定过滤器或条件来标识返回的文档.
这部分内容比较多,计划单独写一篇文章介绍,包括:
- Query Documents
- Query on Embedded/Nested Documents
- Query an Array
- Query an Array of Embedded Documents
三 Update 操作
更新操作修改集合中的现有文档。 MongoDB提供了以下方法来更新集合的文档:
db.collection.updateOne()New in version 3.2db.collection.updateMany()New in version 3.2db.collection.replaceOne()New in version 3.2
在MongoDB中,更新操作只针对一个集合。 MongoDB中的所有写入操作在单个文档的层次上都是原子的。
您可以指定条件或过滤器标识要更新的文档。 这些过滤器使用与读取操作相同的语法。
For examples, see Update Documents.
四 删除操作
删除操作从集合中删除文档。 MongoDB提供了以下方法来删除集合的文档:
db.collection.deleteOne()New in version 3.2db.collection.deleteMany()New in version 3.2
在MongoDB中,删除操作只针对一个集合。 MongoDB中的所有写入操作在单个文档的层次上都是原子的。
您可以指定标准或筛选器标识要删除的文档。 这些过滤器使用与读取操作相同的语法。
For examples, see Delete Documents.
五 批量写入
MongoDB提供了批量执行写操作的功能。 有关详情,see Bulk Write Operations.
原文地址: https://docs.mongodb.com/manual/crud/
转载注明出处: http://www.cnblogs.com/jycboy/p/8758410.html
Mongodb系列- CRUD操作介绍的更多相关文章
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- MongoDB系列二(介绍).
一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表 ...
- MongoDB的CRUD操作(java Util )
1.保存插入操作: public static synchronized String insert(DBObject record) { DBCollection col = MongoDB.get ...
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
一.简介 Spring Data MongoDB 项目提供与MongoDB文档数据库的集成.Spring Data MongoDB POJO的关键功能区域为中心的模型与MongoDB的DBColle ...
随机推荐
- 为表格动态添加一行,miniui组件无效
想要使用miniui实现这样的功能,点击按钮,在一个<td>中动态添加一个miniui输入框和一个按钮,结果miniui的样式无法渲染,请问这种问题可以怎么解决代码如下: <tr&g ...
- 做项目单个功能的时候要理解需求和sql语句。
做项目单个功能的时候要理解需求和sql语句.最好直接按照给出来的sql语句或者存储过程来写,避免有极其细微的差别所造成的不同. 做宜春国税二期的时候有个功能叫夜间开票情况,钻取明细时由于没理解sql语 ...
- Linux学习笔记10
创建文件 touch touch filenames 创建文件夹 mkdir mkdir dir3 dir4 dir5 建立多个文件夹 mkdir ~/games 在登录用户的本目录之下建立game ...
- dns服务扩展
- 块级元素或者行内元素在设置float属性之后是否改变元素的性质?
块级元素使用float属性后,将其属性变成inline-block,不能改变其块级元素的性质,只是能有块级元素的特性,不独占一行,宽度不会占满父元素,和行内元素排列成一行 行内元素使用float属性后 ...
- [python]UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd'
有关编码问题,一直以来都是十分头疼的问题.代码中的字符编码其实还好,但是由于使用的window系统,会用Window的默认编码去解析文本. 今天用脚本在写文件的时候,就总是弹出UnicodeEncod ...
- emoji
嗯...闲的... emoji:(博客园的markdown支持emoji编码...惊了) http://getemoji.com/ http://www.fhdq.net/emoji/emojifuh ...
- python数据类型内置方法 字符串和列表
1.字符串 内置方法操作# a = 'qqssf'#1. print(a[-1:]) #按索引取,正向从0开始,反向从-1开始# print(len(a)) #取长度# a = 'qqssf'# 2. ...
- LINUX文件及目录管理命令基础(2)
Linux文件类型 文件作为Linux操作系统中最常见的对象,在系统中被分为了多种类型 如下: - 普通文件 d 目录 l 链接 b 块设备 c 字符设备 p 管道设备 s 套接字文件 Linux目录 ...
- 老毛桃UEFI版u盘启动盘
使用老毛桃制作UEFI启动盘 下载UEFI版本启动盘制作工具,打开官方网站http://www.laomaotao.org,当前显示页面右下下载UEFI版本.文章写作时最新版本为9.3. 使用教程见: ...