node连接mongodb(简略版)
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(简略版)的更多相关文章
- 使用node连接MongoDB数据 综本地及linux服务器记
gitee地址 启动mongo D:\MongoDB> ./bin/mongod --dbpath ./data/db MongoDB 提供了简单的 HTTP 用户界面. 如果你想启用该功能,需 ...
- node连接mongoDB篇
一般介绍: 由于mongodb数据库在javascript脚本环境中支持bson对象(json对象的二进制形式)的存取,因此对于数据的存取的效率是非常高的.在mongodb数据库中,将每一条等待插入的 ...
- node连接--MongoDB
简介: 传统关系类型(ORM:Object-Relational Mapper),MongoDB(ODM:Object Document Mapper); MongoDB是一个面向文档,schme无关 ...
- 跟我一起用node-express搭建一个小项目(node连接mongodb)[三]
数据库虽然安装并启动成功了,但我们需要连接数据库后才能使用数据库. 怎么才能在 Node.js 中使用 MongoDB 呢? 我们使用官方提供的 node-mongodb-native 驱动模块,打开 ...
- 【node】node连接mongodb操作数据库
1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...
- 【node】------node连接mongodb操作数据库------【巷子】
1.下载第三方模块mongodb cnpm install mongodb --save 2.检测是否连接成功 1.引入第三方模块mongodb并创建一个客户端 const MongoClient = ...
- 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口
在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为go ...
- 初学node.js-nodejs连接MongoDB(5)
一.吧MongoDB的驱动程序添加到Node.js中 Node.js 连接 MongoDB 连接
- docker node项目 连接mongodb
在弄docker部署node项目的时候遇到了连接mongdb的问题,记录一下问题解决办法 一.Docker 安装 MongoDB 1.查找Docker Hub上的mongo镜像 [root@VM_49 ...
随机推荐
- nopcommerce 4.1 core 插件 相关1
nop中 插件机制是比较值得学习的: Nop 插件学习: 1. 项目里面的生成必须是采用 直接编辑项目文件,参考nop原本的项目文件 动态加载插件的方法-mvc3 参考: using System.L ...
- Oracle角色,权限,表空间基础语句
控制台: -sqlplus -----连接数据库 -conn sys/123456@orcl as sysdba -----登录sys -create tablespac ...
- phpstrom mac 快捷键
对应键 ⌘——Command ⌃ ——Control ⌥——Option/Alt ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 编辑 Command+alt+T 用 (if..e ...
- .NET界面控件DevExpress发布v18.2.8|附下载
DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...
- SSM excel文件的导入导出
对于excel文件的导入导出,后台接收读取和建表封存都是固定死的,所以对于excel导入时,excel文件内容必须匹配后台相关对象,不然报错. excel文件导出,用<a><a/&g ...
- Rewrite json
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- Leetcode 600 不含连续1的非负整数
给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数. 例如: 输入: 5 输出: 5 解释: 下面是带有相应二进制表示的非负整数<= 5: 0 : 0 1 ...
- Hadoop Hive HBase Spark Storm概念解释
HadoopHadoop是什么? 答:一个分布式系统基础架构. Hadoop解决了什么问题? 答:解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储(HDFS) ...
- day 14 三元运算符,列表字典推导式,递归,匿名函数,内置函数(排序,映射,过滤,合并)
一.三元运算符 就是if.....else..... 语法糖 前提:if和else只有一条语句 #原始版 cmd=input('cmd') if cmd.isdigit(): print('1') e ...
- mysql 的存储过程 循环 变更某个表里的字段
/*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50505Source Host ...