02-使用NodeJS创建API接口,连接MongoDB数据库

我在测试请求的时候,往往需要一些数据进行测试,通常数据是从服务器请求的,需要服务器暴露相应的请求URL才能请求到数据,所以我自己给自己搭建了一个本地服务器数据,使用NodeJS + MongoDB搭建的。

重点是亲测有效!!!!!!

1.准备工作

nodeJS+ MongoDB 环境安装,此处可参考我的安装过程。

1.1 安装nodeJS

安装nodeJS

1.2 安装MongoDB

[安装MongoDB]
后边会补上相应安装文档

1.3 参考文章

express教程RESTful API教程连接 MongoDB

2.主要操作

2.1 打开终端,安装express和MongoDB依赖

npm i express -S
npm install mongodb

我自己安装的截图:

C:\Users\yangl->npm install mongodb
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\yangl-
\package.json’
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\yangl-\package.json’
npm WARN element-ui@2.12.0 requires a peer of vue@^2.5.17 but none is installed. You must install pe
er dependencies yourself.
npm WARN yangl-
No description
npm WARN yangl-* No repository field.
npm WARN yangl-* No README data
npm WARN yangl-* No license field.
+ mongodb@3.4.0
added 8 packages in 80.205s

憋关注我安装这个80s,我网慢。正常情况下没有这么慢滴!!

2.2 创建一个js文件,如 server-mogodb.js

const express = require('express');
const app = express();
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/runoob";

//创建连接
MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {
    if (err) throw err;
    console.log('数据库已创建');
    var dbase = db.db("runoob");
	//创建集合
    dbase.createCollection('site', function (err, res) {
        if (err) throw err;
        console.log("创建集合!");
        db.close();
    });
});

//插入数据--insertOne
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var myobj = { name: "菜鸟教程", url: "www.runoob" };
    dbo.collection("site").insertOne(myobj, function(err, res) {
        if (err) throw err;
        console.log("文档插入成功");
        db.close();
    });
});


//插入多条数据--insertMany
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var myobj =  [
        { name: '菜鸟工具', url: 'https://c.runoob.com', type: 'cn'},
        { name: 'Google', url: 'https://www.google.com', type: 'en'},
        { name: 'Facebook', url: 'https://www.google.com', type: 'en'}
       ];
    dbo.collection("site").insertMany(myobj, function(err, res) {
        if (err) throw err;
        console.log("插入的文档数量为: " + res.insertedCount);
        db.close();
    });
});

//查询数据--find

	
	MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    dbo.collection("site"). find({}).toArray(function(err, result) { // 返回集合中所有数据
        if (err) throw err;
        console.log(result);
		//res.json(result); 
        db.close();
    });
});
	
//查询指定条件的数据--find(whereStr)
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
     var whereStr = {"name":'菜鸟教程'};  // 查询条件
    dbo.collection("site").find(whereStr).toArray(function(err, result) {
        if (err) throw err;
        console.log(result);
        db.close();
    });
});


//更新1条数据---updateOne
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var whereStr = {"name":'菜鸟教程'};  // 查询条件
    var updateStr = {$set: { "url" : "https://www.runoob.com" }};
    dbo.collection("site").updateOne(whereStr, updateStr, function(err, res) {
        if (err) throw err;
        console.log("文档更新成功");
        db.close();
    });
});

//更新多条数据---updateMany
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var whereStr = {"type":'en'};  // 查询条件
    var updateStr = {$set: { "url" : "https://www.runoob.com" }};
    dbo.collection("site").updateMany(whereStr, updateStr, function(err, res) {
        if (err) throw err;
		//result.nModified 为更新的条数
         console.log(res.result.nModified + " 条文档被更新");
        db.close();
    });
});

//删除1条数据
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var whereStr = {"name":'菜鸟教程'};  // 查询条件
    dbo.collection("site").deleteOne(whereStr, function(err, obj) {
        if (err) throw err;
        console.log("文档删除成功");
        db.close();
    });
});

//除多条数据--deleteMany
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    var whereStr = { type: "en" };  // 查询条件
    dbo.collection("site").deleteMany(whereStr, function(err, obj) {
        if (err) throw err;
		//obj.result.n 删除的条数
        console.log(obj.result.n + " 条文档被删除");
        db.close();
    });
});

2.3 执行 node server-mogodb.js

在终端执行命令 :

node server-mogodb.js

2.4 使用Navicat Premium工具访问

PS: 可以直接使用相应操作MogoDB的方法进行操作即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值