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)的更多相关文章

  1. 【MEVN架构】mongodb+ express + vue + nodejs 搭建后台

    前端技术栈:vue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui 服务端技术栈:nodejs + express + mongo ...

  2. MongoDB入门 和nodejs操作

    简介 MongoDB 开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序:高伸缩性: NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshel ...

  3. MEVN 架构(MongoDB + Express + Vue + NODEJS)搭建

    一个完整的网站服务架构包括:1.web frame ---这里应用express框架2.web server ---这里应用nodejs3.Database ---这里应用monggoDB4.前端展示 ...

  4. note.js之 Mongodb在Nodejs上的配置及session会话机制的实现

    上篇我们使用nodejs实现了一个express4的网站构建配置,但一个有面的网站怎么可以缺少一个数据库呢.现在较为流行的就是使用MONGODB来作为nodejs网站引用的数据库,可能它与nodejs ...

  5. 使用Nodejs+mongodb开发地图瓦片服务器

    原先地图瓦片服务器采用的是arcgisserver发布的地图服务并进行切片,但ags发布的地图服务很占内存,发布太多的话服务器压力很大.再一个就是ags价太高了. 学习Nodejs之后,发现这是一个可 ...

  6. NodeJS+Express+MongoDB

    一.MongoDB MongoDB是开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序丰富:高伸缩性:MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言 ...

  7. 【vue】MongoDB+Nodejs+express+Vue后台管理项目Demo

    ¶项目分析 一个完整的网站服务架构,包括:   1.web frame ---这里应用express框架   2.web server ---这里应用nodejs   3.Database ---这里 ...

  8. 转】Nodejs对MongoDB模糊查询

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/4/ 感谢! Posted: Jul 1, 2013 Tag ...

  9. mongoose-面向对象操作mongodb的Nodejs框架

    介绍 无论是mysql还是mongodb,传统的与数据库交互的方式都是按照他们提供的API来写代码.它们提供的API往往不是很容易理解,而且难以记忆,如果传错了参数,写错一个符号都要查文档. ORM( ...

  10. [NodeJS] Hello World 起步教程

    概述: 做数据,免不了需要展示数据,数据可视化是必须经历的步骤. 本文将提供一个NodeJS的起步教程,是笔者这两天探索的小结. 正文:  1. 为什么使用NodeJS 究竟是以B/S还是C/S的架构 ...

随机推荐

  1. libgdx学习记录11——平铺地图TiledMap

    地图对于游戏场景十分重要,很多游戏都需要对地图进行编辑,可使用TileMap进行编辑并生成对应的tmx格式地图文件. 编辑好后,可通过TmxMapLoader来读取地图文件.可通过一个正交相机Otho ...

  2. Spring Boot(十二):Spring Boot 如何测试打包部署

    有很多网友会时不时的问我, Spring Boot 项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下 Spring Boot 如何开发.调试.打包到最后的投产上线. 开发阶段 ...

  3. DokuWiki 使用

    新建文件夹 修改url, 将新文件夹的名称赋值给url上的id, 如要建一个"DokuWiki"的文件夹,并在文件夹下新增一个"QuickStart"的页面,改 ...

  4. VS 远程调试 Azure Web App

    如果能够远程调试部署在 Azure 上的 Web App,将会极大的提高我们修复 bug 的效率.Visual Studio 一贯以功能强大.好用著称,当然可以通吃基于 Azure 应用的创建.发布和 ...

  5. java 软件开发面试宝典

    一. Java 基础部分........................................................................................ ...

  6. 【读书笔记】Linux内核设计与实现(第十八章)

    18.1 准备开始 需要: 1.一个确定的bug.但是,大部分bug通常都不是行为可靠定义明确的. 2.一个藏匿bug的内核版本. 18.2 内核中的bug bug发作时的症状: 明白无误的错误代码( ...

  7. linux内核分析--计算机是如何工作的

    实验部分 使用gcc -S -o main.s main.c -m32命令将源代码编译成汇编代码. 源代码如下: int g(int x) { return x + 9; } int f(int x) ...

  8. 毕业设计---jQuery动态生成的a标签的事件绑定

    这几天在毕业设计的前端设计阶段,准备放弃使用jsp,完全通过html+ajax+SSH进行网站的编写,在前端的页面显示我准备使用jQuery来实现数据的动态绑定.但是遇到动态添加的a标签无法直接通过$ ...

  9. 读C#程序

    阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...

  10. 团队作业四-WBS练习

    我们团队开发的是四则运算,主要面对的用户是小学生.老师及学生家长.经过我们组成员的讨论和结合实际及自身能力,对团队成员分配任务,队长负责全局工作主要负责任务,统一进度,和适量的编码,露哥和阮磊主要负责 ...