mongoDB的使用(NodeJs)
MongoDB相信大家都不太陌生了,但是究竟它和我们熟悉的MySQL(MariaSQL)、SQLServer有什么区别呢?
我们熟悉的MySQL是关系型数据,每个数据表都有严格的数据结构规定,因而我们在查询数据的时候可以使用很强大很复杂的查询条件。
而MongoDB是文档型的数据库,每个数据数据表可以储存一条条结构不一样的数据,而早期的NoSQL相对查询功能比较弱小,无法JOIN,但是这个缺点已经在最新版的Mongo中添加了$lookup来解决。
步骤:
1.到官网下载安装MongoDB
2.注册mongoDB服务(window)
值得注意地是,这里启动mongo服务需要管理员身份运行cmd,不然不会生效
如果想删除服务,管理员身份运行cmd,使用 sc delete "mie's Mongo"
mongod.exe --port --logpath D:\db\log.txt --logappend --noauth --install --serviceName "mie's Mongo" --serviceDisplayName "mie's Mongo" --serviceDescription "MongoDB service" --dbpath D:\db --directoryperdb
上面命令配置的参数大致是如下意思:
端口8090,日志路径D:\db\log.txt,日志扩展信息也记录,不用身份认证,注册(安装)服务到window上,
服务名字和服务外层表示名字叫"mie's Mongo",服务描述叫"MongoDB service",数据库路径是D:\db,每个数据库一个文件夹
3.打开services.msc,启动刚刚注册的“mie's Mongo”服务
4.使用mongo.exe 客户端登陆
mongo.exe localhost:
5.操作数据库
use test; db.user_table.insert({age:,name:'张三'})
db.user_table.insert({age:,name:'李四'})
db.user_table.insert({pass:"",name:'啊咩'})
db.user_table.insert({gender:,name:'wangwu'}) db.user_table.find()
db.user_table.find({age:})
db.user_table.find({age:{$lt:}})
db.user_table.find({age:{$lte:}})
db.user_table.find({age:{$lt:,$gt:}})
db.user_table.find({$or:[{age:{$lt:}},{age:{$gt:}}]}) db.user_table.remove({age:}) db.user_table.update({age:},{age:,name:"路飞"})
6.配合nodeJs使用
const koa = require('koa');
const MongoClient = require('mongodb').MongoClient let server; (async function(){
server = new koa()
server.listen(8088)
let client = await MongoClient.connect("mongodb://localhost:8090")
let db = await client.db('test')
server.db = db
})() server.use(async ctx=>{
let table = await server.db.collection('user_table')
await table.insert({name: '虹猫',age:999})
await table.updateOne({age:18},{$set: { b : 1,name:'李四四'}})
await table.deleteOne({age:12})
ctx.body = await (await table.find({})).toArray()
})
下载mongodb包:
npm i mongodb -D
这是官方写的nodeJs客户端
最主要的方法:find、updateOne、deleteOne、insert
mongoDB的使用(NodeJs)的更多相关文章
- 【MEVN架构】mongodb+ express + vue + nodejs 搭建后台
前端技术栈:vue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui 服务端技术栈:nodejs + express + mongo ...
- MongoDB入门 和nodejs操作
简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...
- MEVN 架构(MongoDB + Express + Vue + NODEJS)搭建
一个完整的网站服务架构包括:1.web frame ---这里应用express框架2.web server ---这里应用nodejs3.Database ---这里应用monggoDB4.前端展示 ...
- note.js之 Mongodb在Nodejs上的配置及session会话机制的实现
上篇我们使用nodejs实现了一个express4的网站构建配置,但一个有面的网站怎么可以缺少一个数据库呢.现在较为流行的就是使用MONGODB来作为nodejs网站引用的数据库,可能它与nodejs ...
- 使用Nodejs+mongodb开发地图瓦片服务器
原先地图瓦片服务器采用的是arcgisserver发布的地图服务并进行切片,但ags发布的地图服务很占内存,发布太多的话服务器压力很大.再一个就是ags价太高了. 学习Nodejs之后,发现这是一个可 ...
- NodeJS+Express+MongoDB
一.MongoDB MongoDB是开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序丰富:高伸缩性:MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言 ...
- 【vue】MongoDB+Nodejs+express+Vue后台管理项目Demo
¶项目分析 一个完整的网站服务架构,包括: 1.web frame ---这里应用express框架 2.web server ---这里应用nodejs 3.Database ---这里 ...
- 转】Nodejs对MongoDB模糊查询
原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/4/ 感谢! Posted: Jul 1, 2013 Tag ...
- mongoose-面向对象操作mongodb的Nodejs框架
介绍 无论是mysql还是mongodb,传统的与数据库交互的方式都是按照他们提供的API来写代码.它们提供的API往往不是很容易理解,而且难以记忆,如果传错了参数,写错一个符号都要查文档. ORM( ...
- [NodeJS] Hello World 起步教程
概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文: 1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...
随机推荐
- [Deep-Learning-with-Python]机器学习基础
机器学习类型 机器学习模型评估步骤 深度学习数据准备 特征工程 过拟合 解决机器学习问题的一般性流程 机器学习四分支 二分类.多分类以及回归问题都属于监督学习--目标是学习训练输入和对应标签之间的关系 ...
- ZeroMQ使用汇总
ZeroMQ,史上最快的消息队列 —– ZMQ的学习和研究 ZeroMQ 的模式 [架构] ZeroMQ 深度探索(一) 消息队列ZeroMQ 服务端使用流程: void* m_Context; v ...
- 模拟赛 sutoringu
sutoringu 题意: 询问有多少一个字符串内有多少个个子区间,满足可以分成k个相同的串. 分析: 首先可以枚举一个长度len,表示分成的k个长为len的串.然后从1开始,每len的长度分成一块, ...
- Windows中的键盘快捷方式
Windows 中的键盘快捷方式 适用于: Windows 10Windows 8.1Windows 7 Windows 10 键盘快捷方式就是按键或按键组合,可提供一种替代方式来执行通常使用鼠标执行 ...
- GPT & UEFI Install Windows7
安装介质以FAT或者FAT32分区安装介质添加UEFI支持文件(Windows7及其以前的系统,不支持UEFI启动) 从Windows8的安装文件中提取Bootmgfw.efi文件,重命名为BOOTX ...
- Unity实现简单的AR
,本篇是我在博客园上第一次写随笔,有什么不对或者问题可以在评论区留言告诉我哈! 关于AR(增强现实技术(Augmented Reality))简单的概念,在这里就不说了,有兴趣的同学可以上网详细了解, ...
- 《杜增强讲Unity之Tanks坦克大战》11-游戏流程控制
11 游戏流程控制 使用协程来控制游戏流程 11.1 添加MessageText 首先添加一个Text来显示文字 image 设置GameMgr image 11.2 游戏整体流程 下面Gam ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
- 初始化Weex项目遇到的问题记录
Weex 提供了一个命令行工具 weex-toolkit 来帮助开发者使用 Weex.它可以用来快速创建一个空项目.初始化 iOS 和 Android 开发环境.调试.安装插件等操作. 目前 weex ...
- 20181204-2 Final发布
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2476 小组介绍 组长:付佳 组员:张俊余 李文涛 孙赛佳 田良 于洋 段 ...