MongoDB插入文件

本文概述

  • 例子
  • 检查插入的文件
  • MongoDB插入多个文档
  • 创建一系列文档
  • 插入文件
  • 批量插入多个文档
  • 初始化批量操作构建器
  • 将插入操作添加到批量对象
  • 执行批量操作
在MongoDB中, db.collection.insert()方法用于将新文档添加或插入到数据库的集合中。
不间断电源
出于同一目的, 还有两种方法” db.collection.update()” 方法和” db.collection.save()” 方法。这些方法通过称为upsert的操作添加新文档。
Upsert是一项操作, 如果不存在要修改的文档, 它将执行现有文档的更新或新文档的插入。
句法
> db.COLLECTION_NAME.insert(document)

让我们以一个示例来演示如何将文档插入集合中。在此示例中, 我们将文档插入名为srcmini的集合中。如果该集合当前不存在, 则此操作将自动创建一个集合。
例子
db.srcmini.insert( { course: "java", details: { duration: "6 months", Trainer: "Sonoo jaiswal" }, Batch: [ { size: "Small", qty: 15 }, { size: "Medium", qty: 25 } ], category: "Programming language" } )

成功插入文档后, 该操作将返回带有状态的WriteResult对象。
输出
WriteResult({ "nInserted" : 1 })

在这里, nInserted字段指定插入的文档数。如果发生错误, 则WriteResult将指定错误信息。
检查插入的文件如果插入成功, 则可以通过以下查询查看插入的文档。
> db.srcmini.find()

你将获得插入的文档作为回报。
输出
{ "_id" : ObjectId("56482d3e27e53d2dbc93cef8"), "course" : "java", "details" : { "duration" : "6 months", "Trainer" : "Sonoo jaiswal" }, "Batch" : [ {"size" : "Small", "qty" : 15 }, { "size" : "Medium", "qty" : 25 } ], "category" : "Programming language" }

【MongoDB插入文件】注意:这里, ObjectId值由MongoDB本身生成。它可能与所示的有所不同。
MongoDB插入多个文档如果要在集合中插入多个文档, 则必须将文档数组传递给db.collection.insert()方法。
创建一系列文档定义一个名为Allcourses的变量, 该变量包含要插入的文档数组。
var Allcourses = [ { Course: "Java", details: { Duration: "6 months", Trainer: "Sonoo Jaiswal" }, Batch: [ { size: "Medium", qty: 25 } ], category: "Programming Language" }, { Course: ".Net", details: { Duration: "6 months", Trainer: "Prashant Verma" }, Batch: [ { size: "Small", qty: 5 }, { size: "Medium", qty: 10 }, ], category: "Programming Language" }, { Course: "Web Designing", details: { Duration: "3 months", Trainer: "Rashmi Desai" }, Batch: [ { size: "Small", qty: 5 }, { size: "Large", qty: 10 } ], category: "Programming Language" } ];

插入文件将此Allcourses数组传递给db.collection.insert()方法以执行批量插入。
> db.srcmini.insert( Allcourses );

成功插入文档后, 这将返回状态为BulkWriteResult的对象。
BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 3, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })

注意:此处的nInserted字段指定插入的文档数。如果操作期间发生任何错误, 则BulkWriteResult将指定该错误。
你可以使用以下查询来检查插入的文档:
> db.srcmini.find()

批量插入多个文档在其最新版本的MongoDB(MongoDB 2.6)中, 提供了Bulk()API, 可用于批量执行多个写操作。
你应该按照以下步骤将一组文档插入MongoDB集合中。
初始化批量操作构建器首先, 初始化集合srcmini的批量操作构建器。
var bulk = db.srcmini.initializeUnorderedBulkOp();

该操作返回一个无序操作构建器, 该构建器维护要执行的操作的列表。
将插入操作添加到批量对象
bulk.insert( { course: "java", details: { duration: "6 months", Trainer: "Sonoo jaiswal" }, Batch: [ { size: "Small", qty: 15 }, { size: "Medium", qty: 25 } ], category: "Programming language" } );

执行批量操作在批量对象上调用execute()方法以执行列表中的操作。
bulk.execute();

成功插入文档后, 此方法将返回BulkWriteResult对象及其状态。
BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 1, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })

在这里, nInserted字段指定插入的文档数。如果操作期间发生任何错误, 则BulkWriteResult将指定该错误。

    推荐阅读