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的架构 ...
 
随机推荐
- 小内存VPS apache并发控制参数prefork调优
			
小内存VPS优化(使用wdcp lnamp一键包安装环境的情况下): 1.主要优化perfork模式下几个参数,防止开启过多的httpd进程占用大量内存导致内存满:在wdcp下修改的httpd配置文件 ...
 - HTML 样式 (style) 实例
			
77.HTML 样式 (style) 实例HTML 的 style 属性style 属性的作用: 提供了一种改变所有 HTML 元素的样式的通用方法. 样式是 HTML 4 引入的,它是一种新的首选的 ...
 - mybati缓存机制之一级缓存
			
在月黑风高的某天夜晚,boss chen语重心长的发条了消息给小草说:“小草啊,是时候写写博客来记录平常自己积累的东西了......”.小草一听,平常没有写博客的习惯,在平常开发中只是用笔记记录自 ...
 - win10 添加项目右键用vscode打开
			
1.新建reg文件:在vscode安装目录下新建一个文本文件,然后将文件后缀改为:*.reg,文件名任意,例如:vsCodeOpenFolder.reg. 2.编写文本文件内容.将下面的内容Copy到 ...
 - jupyter notebook 更改工作环境和浏览器
			
转载自:https://blog.csdn.net/u011141114/article/details/78556227 1 修改默认目录 最近刚刚开始学习Python,比较好的一个IDE就是jup ...
 - ats显示代理缓存
			
如果要将ats用作显示代理缓存,则必须配置客户端软件(即浏览器)以将请求直接发送到ats. 如果没有将ats配置为使用透明度选项(通过交换机或路由器在路由到源服务器的情况下拦截客户端请求并重新路由到a ...
 - Kali信息收集-搜索引擎
			
1.google hacking intext:搜索正文内容 intitile:网页标题中的内容 inurl:url中的关键字 site:目标站点下 filetype:文件类型 cache:缓存 li ...
 - 一份超全超详细的 ADB 用法大全
			
http://blog.csdn.net/u010375364/article/details/52344120
 - 为什么HashMap不是线程安全的
			
电面突然被问到这个问题,之前看到过,但是印象不深,导致自己没有答出来,现在总结一下. HashMap的内部存储结构 transient Node<K,V>[] table; static ...
 - Python的三种格式化输出
			
今天刚学了python的三种格式化输出,以前没接触过这么有趣的输出方式,现在来分享一下. #!/user/bin/env python#coding:utf-8#三种格式化输出 #第一种格式化输出na ...