前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs连接MongoDB插入数据

nodejs连接MongoDB插入数据

作者头像
十月梦想
发布2018-08-29 14:40:45
1.7K0
发布2018-08-29 14:40:45
举报
文章被收录于专栏:十月梦想

昨天介绍了一下MongoDB在shell下的正删改查,今天来讲一下在nodejs中如何连接数据库以及数据的插入!

看一下实例代码

代码语言:javascript
复制
var express = require("express");
var app = express();
var MongoClient = require('mongodb').MongoClient;


app.get("/",function(req,res){
    //url就是数据库的地址。/表示数据库
    //假如数据库不存在,没有关系,程序会帮你自动创建一个数据库
    var url = 'mongodb://localhost:27017/haha';
    //连接数据库
    MongoClient.connect(url, function(err, db) {
        //回调函数表示连接成功做的事情,db参数就是连接上的数据库实体
        if(err){
            console.log("数据库连接失败");
            return;
        }
        console.log("数据库连接成功");
        //插入数据,集合如果不存在,也没有关系,程序会帮你创建
        db.collection('student').insertOne({
            "name" : "哈哈",
            "age" : parseInt(Math.random() * 100 + 10)
        }, function(err, result) {
            if(err){
                console.log("插入失败");
                return;
            }
            //插入之后做的事情,result表示插入结果。
            //console.log(result);
            res.send(result);
            db.close();
        });
    });
});

app.listen(3000);

在插入收据时候发现提示db.collection不是一个函数,解决问题:MongoDB的版本太高,这个写法是MongoDB2.x的版本写法!

接下来看一下MongoDB3.x以及更高版本插入数据(测试为4.x环境)

代码语言:javascript
复制
var express=require("express")
var app=express();
var MongoClient = require('mongodb').MongoClient;
app.get("/",function(req,res){
    //连接数据库,入库哦数据库不存在则自动创建,存在则使用该数据库
    var url = 'mongodb://localhost:27017/test';
    MongoClient.connect(url, function(err, client) {
        if(err){
            console.log("数据库连接失败");
            return;
        }
        console.log("数据库连接成功");
        //插入数据,集合不存在自动创建
        //新版本数据库插入方式,获取插入的数据库
        var db=client.db("test");
        db.collection("student").insertMany([
                 {"name":"小明"+parseInt(Math.random()*20),"age":+parseInt(Math.random()*50+10)},
                 {"name":"小王"+parseInt(Math.random()*20),"age":+parseInt(Math.random()*50+10)},
                 {"name":"小李"+parseInt(Math.random()*20),"age":+parseInt(Math.random()*50+10)}
        ],function(err,result){
            if (err){
                res.send("数据插入失败");
                return;
            }
            // db.close();
            res.send("数据插入成功!");
        })

    });
})
app.listen(3000)

不同之处,在3.x以后版本中db要指定是在哪个数据库中,然后才可以进行数据插入

代码语言:javascript
复制
var db=client.db("test");//指定操作的数据库为test

插入单挑数据(insertOne),多条数据(insertMany)方法实现插入!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-7-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档