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. linux 普通用户授权root相关权限

    先查看当前用户(test)是否有特权 [test@web01 ~]$ sudo -l We trust you have received the usual lecture from the loc ...

  2. python列表的学习笔记

    列表的操作 第一个例子: #names = "zhangyang guyun xiangpeng xuliangchen"  #通过空格或逗号存变量 names = [" ...

  3. vivado封装IP

    reference: https://www.cnblogs.com/mouou/p/5851736.html   1.新建一个测试工程 工程化的设计方法是离不开工程的,第一步往往都是新建工程,后面我 ...

  4. H5手指滑动切换卡片效果

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  5. 原生js实现下拉菜单

    简单给两段代码: html和css部分: <style> .one li{ width:100px; height:30px; line-height:30px; background:u ...

  6. vue-cli title 里面怎动态显示文字

    在路由里每个都添加一个meta[{ path:'/login', meta: { title: '登录页面' }, component:'login' }]   main.js里面加如下代码:     ...

  7. 360技术笔试编程题 - 无意间看到这么个东西,闲来无事用JS写了一下

    题目描述 为考验各自的数学能力,小B和小A经常在一起玩各种数值游戏,这一次他们又有了一种新玩法.每人从指定的数值范围中各自选择一个整数,记小A选择的数值为a,小B选择的数值为b.他们用一个均匀分布的随 ...

  8. windows 10安装docker一直挂起在Installing Components and Removing Files

    碰到这个问题百度了好久都没有找到解决方式,什么用管理员方式运行,给文件夹权限啊,都不好使. 后面在bing上面搜docker install compoents关键字找到一条结果,如下如 点进链接,内 ...

  9. python学习笔记——(一)基础设置

    python的学习,今天就开始上开发环境Pycharm,这样以后在调试,使用和学习起来就方便很多. 我用的是JetBrains PyCharm Community Edition 2018.1.1 x ...

  10. if ,while ,for 的掌握

    a)python的缩进和冒号 对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空 ...