MongoDB 插入文档

收藏422

阅读7370

更新时间2025-08-28

Node.js -插入文档到MongoDB集合

在本Node.js教程中,我们将分别使用insertOne()和insertMany()方法,通过示例,学习从Node.js应用程序向MongoDB Collection插入一个或多个文档。

以下是逐步指南,并提供了一个示例,该示例将文档从Node.js应用程序插入到MongoDB Collection中。

启动MongoDB服务。运行以下命令以启动MongoDB服务

sudo service mongod start

获取MongoDB服务的基本URL。要了解MongoDB服务的基本URL,一个简单的技巧就是打开终端并运行Mongo Shell。

Terminal - Mongo Shell

arjun@nodejs:~$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
Server has startup warnings: 
2017-10-29T18:15:36.110+0530 I STORAGE [initandlisten]

当Mongo Shell启动时,它回显MongoDB的基本URL。

mongodb://127.0.0.1:27017

准备完整的URL。将您要连接的数据库名称(例如newdb)附加到基本URL。

mongodb://127.0.0.1:27017/newdb

创建一个MongoClient。

var MongoClient = require('mongodb').MongoClient;

在URL的帮助下从MongoClient连接到MongoDB服务器。

MongoClient.connect(url, );

一旦完成MongoClient的尝试建立连接,回调函数就会 收到错误和db对象作为参数。

如果连接成功,则db对象指向数据库 newdb。

将文档插入指定的MongoDB集合。以下是用于从Node.js将文档插入到MongoDB中的集合的insertOne()和insertMay()方法的语法。

insertOne()

db.collection().insertOne()

insertMany()

db.collection().insertMany()

 参数说明:

  • <collection_name>  -  我们要创建的新MongoDB集合的名称

  • <document> -   必须插入到MongoDB Collection中的单个文档

  • <document_array>  -  要插入到MongoDB Collection中的文档数组

  • <callback_function>   - 在Node尝试创建集合并准备好结果之后,将调用此Node.js回调函数。回调函数接收错误和结果对象作为参数。

insertOne()–示例Node.js程序

 // 我们在newdb数据库中创建“用户”集合
var url = "mongodb://localhost:27017/newdb"; 
 
// 创建一个客户端到mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// 使客户端连接到mongo服务
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db指向newdb
    console.log("Switched to "+db.databaseName+" database"); 
 
    // 要插入的文件
    var doc = { name: "Roshan", age: "22" }; 
    
    // 使用insertOne将文档插入“用户”集合
    db.collection("users").insertOne(doc, function(err, res) { 
        if (err) throw err; 
        console.log("Document inserted"); 
        // 完成后关闭与db的连接
        db.close(); 
    }); 
 });

输出结果

$ node node-js-mongodb-insert-document.js
Switched to newdb database
Document inserted

Mongo Shell

> use newdb
switched to db newdb
> show collections
users
> db.users.find({});
{ "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" }
>

insertMany() –示例Node.js程序

 // 我们在newdb数据库中创建“用户”集合
var url = "mongodb://localhost:27017/newdb"; 
 
// 创建一个客户端到mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// 使客户端连接到mongo服务
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db指向newdb
    console.log("Switched to "+db.databaseName+" database"); 
 
    // 要插入的文件
    var docs = [{ name: "Udat", age: "21" }, 
                { name: "Karthik", age: "24" }, 
                { name: "Anil", age: "23" }]; 
    
    // 使用insertOne将多个文档插入“用户”集合
    db.collection("users").insertMany(docs, function(err, res) { 
        if (err) throw err; 
        console.log(res.insertedCount+" documents inserted"); 
        // 完成后关闭与db的连接
        db.close(); 
    }); 
 });

输出结果

$ node node-js-mongodb-insert-many-documents.js
Switched to newdb database
3 documents inserted

Mongo Shell

> db.users.find({});
{ "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" }
{ "_id" : ObjectId("5a1278efecc5062794f4ed8d"), "name" : "Udat", "age" : "21" }
{ "_id" : ObjectId("5a1278efecc5062794f4ed8e"), "name" : "Karthik", "age" : "24" }
{ "_id" : ObjectId("5a1278efecc5062794f4ed8f"), "name" : "Anil", "age" : "23" }
>

第一个条目来自第一个示例,其余三个已与此示例一起插入。

在此Node.js MongoDB教程:  Node.js –插入Document(s)到MongoDB Collection中,我们学习了使用mongodb包从Node.js应用程序中使用insertOne()和insertMany()方法将一个或多个文档插入到MongoDB Collection中。在我们的下一个教程– Node.js MongoDB Find中,我们将学习从MongoDB Collection查询文档。

相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号