1.先通过配置启动mongodb,然后新建db.js

    已经对相对应的数据库操作增删改查封装完成。

 //这个模块里面封装了所有对数据库的常用操作
var MongoClient = require('mongodb').MongoClient;
//封装成为内部函数
function _connectDB(callback) {
var url = "mongodb://@localhost:27017/test"; //从settings文件中,都数据库地址
//连接数据库
MongoClient.connect(url, {useNewUrlParser:true}, function (err, client) {
//client参数就是连接成功之后的mongoclient(个人理解为数据库客户端)
if (err) {
console.log("数据库连接失败");
return;
}
console.log("数据库连接成功");
//3.0新写法
// var db = client.db("test");
callback(err, client); });
} //插入数据
exports.insertOne = function (dbname, collectionName, json, callback) {
_connectDB(function (err, db) {
const DB = db.db(dbname);
DB.collection(collectionName).insertOne(json, function (err, result) {
callback(err, result);
db.close(); //关闭数据库
})
})
}; //查找数据,找到所有数据.
exports.find = function (dbname, collectionName, json, callback) {
//连接数据库,连接之后查找所有
_connectDB(function (err, db) {
const DB = db.db(dbname);
DB.collection(collectionName).find(json, function (err, result) {
callback(err, result);
db.close();
});
});
}; //删除
exports.deleteMany = function (dbname, collectionName, json, callback) {
_connectDB(function (err, db) {
const DB = db.db(dbname);
DB.collection(collectionName).deleteMany(json, function (err, result) {
callback(err, result);
db.close(); //关闭数据库
}
);
});
}; //修改
exports.updateMany = function (dbname, collectionName, json1, json2, callback) {
_connectDB(function (err, db) {
const DB = db.db(dbname);
DB.collection(collectionName).updateMany(
json1,
json2,
function (err, results) {
callback(err, results);
db.close();
});
})
};

2.在node启动js里面加入相对应的代码

const http = require('http');  //实例化“http”
const fs = require('fs');
const db = require("./model/db.js");
var express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/index.html', function (req, res) {
res.sendFile(__dirname + "/" + "index.html");
})
app.listen(process.env.POST || 8081);
// mongodb连接测试
db.insertOne("test", "student", {
"name": "aaaaaaa",
"age": 58,
}, function (err, result) { })
db.deleteMany("test", "student", {
"name": 'aaaaaaa'
}, function (err, result) { })
db.updateMany("test", "student", { "name": "lisi" }, {
$set: {
"name": "aaaaaaaaaa",
}
}, function (err, results) { });
db.find("test", "student", { "name": 'zhangsan' }, function (err, result) {
})

同时使用mongodb可视化工具进行查看,我现在用的是robo-3T

node连接mongodb(简略版)的更多相关文章

  1. 使用node连接MongoDB数据 综本地及linux服务器记

    gitee地址 启动mongo D:\MongoDB> ./bin/mongod --dbpath ./data/db MongoDB 提供了简单的 HTTP 用户界面. 如果你想启用该功能,需 ...

  2. node连接mongoDB篇

    一般介绍: 由于mongodb数据库在javascript脚本环境中支持bson对象(json对象的二进制形式)的存取,因此对于数据的存取的效率是非常高的.在mongodb数据库中,将每一条等待插入的 ...

  3. node连接--MongoDB

    简介: 传统关系类型(ORM:Object-Relational Mapper),MongoDB(ODM:Object Document Mapper); MongoDB是一个面向文档,schme无关 ...

  4. 跟我一起用node-express搭建一个小项目(node连接mongodb)[三]

    数据库虽然安装并启动成功了,但我们需要连接数据库后才能使用数据库. 怎么才能在 Node.js 中使用 MongoDB 呢? 我们使用官方提供的 node-mongodb-native 驱动模块,打开 ...

  5. 【node】node连接mongodb操作数据库

    1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...

  6. 【node】------node连接mongodb操作数据库------【巷子】

    1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...

  7. 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口

    在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为go ...

  8. 初学node.js-nodejs连接MongoDB(5)

    一.吧MongoDB的驱动程序添加到Node.js中 Node.js 连接 MongoDB 连接

  9. docker node项目 连接mongodb

    在弄docker部署node项目的时候遇到了连接mongdb的问题,记录一下问题解决办法 一.Docker 安装 MongoDB 1.查找Docker Hub上的mongo镜像 [root@VM_49 ...

随机推荐

  1. react 表单受控和非受控

    参见:https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ 非受控: onSubmit = ()=>{ const val ...

  2. 使用DD 创建SWAP

    1创建所需swap空间的文件 + records in + records out bytes ( MB) copied, 2.01386 s, 52.1 MB/s[root@web01 ~]# ll ...

  3. linux c TCP连接通讯

    服务端: 1.申请服务端自己的socket 2.对addr赋值 3.bind文件描述符和地址信息 4.listen监听服务 5.等待accept客户端的连接 6.处理建立好的连接 7.关闭socket ...

  4. jmert中如何测试上传文件接口(测试上传excel文件)

    第一次用jmeter这个工具测试上传接口,以前没做过这一块,导致走了很多弯路.特地把经验谢谢,怕自己以后忘记... 一,jmeter如何上传文件 jmeter 的 http requests post ...

  5. URL 通过Get方式传递数组参数

    URL 通过Get方式传递数组参数 方法1: ?id=1&id=2&id=3 后台获取时,只需要reqeust.getParameterValues("id") 获 ...

  6. 存储过程 传 datatable

    首先  定义 datatable 然后把要传的数据放到table里面 调用 存储过程   传递参数

  7. Zabbix增加邮箱后Server宕处理

    zabbix版本:4.1  DB为Mysql 过程: 1,为了增加邮件报警功能,按照网上文章,开始增加发送邮件模块.先停postfix,后安装mailx和sendmail. systemctl lis ...

  8. 同一脚本sh 脚本名 报Syntax error: "(" unexpected而./脚本名不报错,求解!!

    同一脚本sh 脚本名 执行时报Syntax error: "(" unexpected:而./脚本名执行不报错,为什么呢 脚本内容如下: function usage(){ ech ...

  9. 对于一个段错误(核心已转储)问题的解答,错误的英文翻译是segment fault(core dumped)

    笔者在学习ROS的时候遇到的这个问题,使用的系统是ubuntu16.04,ROS版本是kinetic,在运行小海龟程序的时候突然打不开海龟界面的程序节点turtlesim-node,四处寻找答案未果, ...

  10. 【译】PX、EM还是REM媒体查询?

    原文链接:https://zellwk.com/blog/media-query-units/ 你有没有想过使用媒体查询的时候到底该用px.em还是rem作单位呢?我曾经也有同样的疑问,而且我到现在也 ...