Skip to content

Commit a3dcbfd

Browse files
author
Mohammad Hunan Chughtai
authored
(DOCSP-7601): insert many usage-example (#16)
* (DOCSP-7601): init insertMany * Updated toc tree * fixed wording on insertMany * (DOCSP-7601): updated verbiage for clarity
1 parent 128eea4 commit a3dcbfd

File tree

3 files changed

+68
-1
lines changed

3 files changed

+68
-1
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// ignored first line
2+
const { MongoClient } = require("mongodb");
3+
4+
const uri =
5+
"mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&w=majority";
6+
7+
const client = new MongoClient(uri);
8+
9+
async function run() {
10+
try {
11+
await client.connect();
12+
13+
const database = client.db("sample_mflix");
14+
const collection = database.collection("movies");
15+
16+
// create a set of documents
17+
const docOne = { name: "Red", town: "Kanto" };
18+
const docTwo = { name: "Blue", town: "Kanto" };
19+
const docThree = { name: "Leon", town: "Galar" };
20+
// create a docs array and add the documents to the array
21+
const docs = [docOne, docTwo, docThree];
22+
// specify an additional options object
23+
const options = {};
24+
options.bypassDocumentValidation = true; // bypass document validation
25+
options.ordered = true; // prevent additional documents from being prevented if one fails
26+
const result = await collection.insertMany(docs, options);
27+
console.log(`${result.insertedCount} documents were inserted`);
28+
} finally {
29+
await client.close();
30+
}
31+
}
32+
run().catch(console.dir);

source/usage-examples.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Usage Examples
88
:doc:`find </usage-examples/find>`
99
:doc:`updateOne</usage-examples/updateOne>`
1010
:doc:`deleteMany </usage-examples/deleteMany>`
11+
:doc:`insertMany </usage-examples/insertMany>`
1112

1213
.. toctree::
1314
:caption: Examples
@@ -16,4 +17,5 @@ Usage Examples
1617
/usage-examples/find
1718
/usage-examples/updateOne
1819
/usage-examples/deleteMany
19-
/usage-examples/deleteOne
20+
/usage-examples/deleteOne
21+
/usage-examples/insertMany

source/usage-examples/insertMany.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
=====================
2+
Create Many Documents
3+
=====================
4+
5+
.. default-domain:: mongodb
6+
7+
You can create multiple documents using the `insertMany()
8+
<https://mongodb.github.io/node-mongodb-native/3.3/api/Collection.html#insertMany>`_
9+
method. The ``insertMany()`` takes an array of documents to insert into
10+
the specified collection.
11+
12+
Create an `Object
13+
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object>`_
14+
to specify additional options. Set the ``bypassDocumentValidation``
15+
field to bypass :manual:`schema validation <core/schema-validation/>`
16+
rules in MongoDB 3.2 or higher. Specify ``ordered:true`` to prevent
17+
inserting the remaining documents if the insertion failed for a previous
18+
document in the array.
19+
20+
The ``insertMany()`` method returns a `Promise
21+
<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise>`_
22+
that resolves to an object. The ``insertedIds`` field of this object is
23+
an object that contains the ``_id`` of each inserted document. The
24+
``insertedCount`` field of this object is the number of documents
25+
inserted into the collection.
26+
27+
Specifying incorrect parameters for your ``insertMany()`` operation can
28+
cause problems. Attempting to insert a field to a value that would violate
29+
unique index rules will throw a ``duplicate key error``.
30+
31+
.. literalinclude:: /code-snippets/usage-examples/insertMany.js
32+
:language: javascript
33+
:linenos:

0 commit comments

Comments
 (0)