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. 高通 MSM8K bootloader之一: SBL1

    MSM8K Boot Flow  转自:http://www.cnblogs.com/liang123/p/6325257.html            http://blog.csdn.net/F ...

  2. 在当前TestSuite/TestCase run之前先run另一个TestSuite/TestCase

    在当前的TestSuite/TestCase的Setup Script里面写上这段代码: import com.eviware.soapui.model.support.PropertiesMap l ...

  3. 结对作业_core组

    github地址:https://github.com/ljw-wakeup/expression_project2 对于这种结对的工作,由于有过电子设计实践的基础,大概知道建一个工程需要做的事,有点 ...

  4. jQuery对象和普通DOM对象的区别

    1.DOM对象DOM实际上是以面向对象方式描述的文档模型.DOM定义了表示和修改文档所需的对象.这些对象的行为和属性以及这些对象之间的关系.根据W3C DOM规范,DOM是HTML与XML的应用编程接 ...

  5. 伪Ajax-iframe

    由于HTML标签的iframe标签具有局部加载内容的特性,所以可以使用其来伪造Ajax请求. <!DOCTYPE html> <html lang="en"> ...

  6. python面向对象之继承/多态/封装

    老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...

  7. better-scroll无法滚动的问题。

    better-scroll无法滚动的问题.1遇见better-scroll(以下简称:BS)无法滚动,可从两方面去考虑.一是层级关系出错,二是计算高度出错.###1,层级关系BS的基本结构是:一个wr ...

  8. callback函数

    const getUserInfo = function (callback) { try { let params = { "url": "https://h5.m.t ...

  9. SHELL输出带颜色字体

    输出特效格式控制:\033[0m  关闭所有属性  \033[1m   设置高亮度  \03[4m   下划线  \033[5m   闪烁  \033[7m   反显  \033[8m   消隐  \ ...

  10. XShell转发数据库端口

    隧道添加 源主机为本地 目标主机为需要转发的主机