专栏首页十月梦想nodejs连接MongoDB插入数据

nodejs连接MongoDB插入数据

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

看一下实例代码

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环境)

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要指定是在哪个数据库中,然后才可以进行数据插入

var db=client.db("test");//指定操作的数据库为test

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php向mysql数据表插入数据

    十月梦想
  • MongoDB安装与运行

    首先简单介绍一下MongoDB,MongoDB属于nosql(即非关系型数据库)一种,传统的数据库基本全部为关系型(结构型)数据库,拥有行和列概念!传统数据库:...

    十月梦想
  • 数据类型强制转换

    上次提到过数据类型转换在输出的之前(),括号内加入需要转换的类型,这个是临时的转换,下面介绍一下临时转换和永久性数据类型转换。

    十月梦想
  • 【正在直播】迪B哥深入浅出讲解云数据库

    点击上方蓝字每天学习数据库 今天19:00-21:00,迪B哥在线教学 本次直播课程由腾讯云数据库产品团队的主要技术负责人、中国计算机行业协会开源数据库专业委...

    腾讯云数据库 TencentDB
  • 多语言业务错误日志收集监控工具Sentry 安装与使用

    Sentry是一个日志平台, 它分为客户端和服务端,客户端(目前客户端有Python, PHP,C#, Ruby等多种语言)就嵌入在你的应用程序中间,程序出现异...

    用户1177380
  • js监控输入密码检测大写键盘是否锁定

    ? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="...

    汤高
  • JS魔法堂:ASI(自动分号插入机制)和前置分号

    一、前言                                   今晚在知乎看到前端技术专家——贺师俊对《JavaScript 语句后应该加分号么?...

    ^_^肥仔John
  • js --- 字符串和 二进制 互相转换

    小蔚
  • 前端XSS相关整理

    前端安全方面,主要需要关注 XSS(跨站脚本攻击 Cross-site scripting) 和 CSRF(跨站请求伪造 Cross-site request ...

    书童小二
  • JavaScript基本数据类型

    efonfighting

扫码关注云+社区

领取腾讯云代金券