插入多个文档
此版本的文档已存档,不再提供支持。 查看最新文档,了解如何升级您的 Node.js 驱动程序版本。
您可以使用 collection.insertMany() 插入多个文档方法。 insertMany()
会将一组文档插入到指定集合中。
您可以在作为 insertMany()
方法的第二个参数传递的 options
对象中指定其他选项。指定 ordered:true
以防止在数组中的上一文档插入失败时插入剩余文档。
为 insertMany()
操作指定不正确的参数可能会导致问题。尝试将字段插入到违反唯一索引规则的值中将引发 duplicate key error
。
例子
注意
可以使用此示例连接到 MongoDB 实例,并与包含样本数据的数据库进行交互。如需了解有关连接到 MongoDB 实例和加载示例数据集的更多信息,请参阅 使用示例指南 。
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 async function run() { 9 try { 10 11 // Get the database and collection on which to run the operation 12 const database = client.db("insertDB"); 13 const foods = database.collection("foods"); 14 15 // Create an array of documents to insert 16 const docs = [ 17 { name: "cake", healthy: false }, 18 { name: "lettuce", healthy: true }, 19 { name: "donut", healthy: false } 20 ]; 21 22 // Prevent additional documents from being inserted if one fails 23 const options = { ordered: true }; 24 25 // Execute insert operation 26 const result = await foods.insertMany(docs, options); 27 28 // Print result 29 console.log(`${result.insertedCount} documents were inserted`); 30 } finally { 31 await client.close(); 32 } 33 } 34 run().catch(console.dir);
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 interface Food { 9 name: string; 10 healthy: boolean; 11 } 12 13 async function run() { 14 try { 15 const database = client.db("insertDB"); 16 // Specifying a schema is optional, but it enables type hints on 17 // finds and inserts 18 const foods = database.collection<Food>("foods"); 19 20 const result = await foods.insertMany( 21 [ 22 { name: "cake", healthy: false }, 23 { name: "lettuce", healthy: true }, 24 { name: "donut", healthy: false }, 25 ], 26 { ordered: true } 27 ); 28 console.log(`${result.insertedCount} documents were inserted`); 29 } finally { 30 await client.close(); 31 } 32 } 33 run().catch(console.dir);
运行前一示例应能看到以下输出:
3 documents were inserted