---恢复内容开始---
一 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.2 -
db.collection.updateMany()
New in version 3.2 -
db.collection.replaceOne()
New in version 3.2
在MongoDB中,更新操作只针对一个集合。 MongoDB中的所有写入操作在单个文档的层次上都是原子的。
您可以指定条件或过滤器标识要更新的文档。 这些过滤器使用与读取操作相同的语法。
For examples, see Update Documents.
四 删除操作
删除操作从集合中删除文档。 MongoDB提供了以下方法来删除集合的文档:
-
db.collection.deleteOne()
New in version 3.2 -
db.collection.deleteMany()
New in version 3.2
在MongoDB中,删除操作只针对一个集合。 MongoDB中的所有写入操作在单个文档的层次上都是原子的。
您可以指定标准或筛选器标识要删除的文档。 这些过滤器使用与读取操作相同的语法。
For examples, see Delete Documents.
五 批量写入
MongoDB提供了批量执行写操作的功能。 有关详情,see Bulk Write Operations.