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. flaskr 报错及其修改

    作者:hhh5460 官网有一个flaskr的例子,按照其8个步骤(包括测试),一步一步照着做,有3个地方报错. 究其原因,可能是flaskr这个例子年代比较久远,而现在python以及flask都有 ...

  2. LeetCode 3Sum (Two pointers)

    题意 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all ...

  3. NetBeans的(默认)快捷键

    NetBeans的(默认)快捷键 1.完成代码:ctrl+\ //任何地方按下此组合键,均会提示相应的参考字段:  2.错误提示:alt + enter //顾名思义,当系统报错时,按下此组合可以查看 ...

  4. 复习下VLAN的知识

    转载:来自百度百科 VLAN一般指虚拟局域网 VLAN(Virtual Local Area Network)的中文名为"虚拟局域网". 虚拟局域网(VLAN)是一组逻辑上的设备和 ...

  5. muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制

    目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...

  6. 学习笔记 | CDQ分治

    目录 前言 啥是CDQ啊(它的基本思想) 例题 后记 参考博文 前言 博主太菜了 学习快一年的OI了 好像没有什么会的算法 更寒碜的是 学一样还不精一样TAT 如有什么错误请各位路过的大佬指出啊感谢! ...

  7. 修改servlet的模板代码

    实际开发中,这些生成的代码和注释一般我们都用不到的,每次都要手工删除这些注释和代码,很麻烦.下面以MyEclipse 2014(其实版本通用的,都可以修改)为例进行说明如何修改Servlet的模板代码 ...

  8. Git从零开始(三)

    一.远程仓库管理 1.将本地内容推送到远程库 先关联远程库,执行命令: git remote add origin https://github.com/Hollydan/gitstore.git ( ...

  9. vue 有关框架

    iview-admin https://github.com/iview/iview-admin/ axios https://www.kancloud.cn/yunye/axios/234845

  10. 通过动态包含和Ajax机制抽取Web应用的公共页面

    在Java Web应用开发中,经常遇到的一种情况是,许多的页面中都包含着“公共页面”,这部分动态页面的特征是:访问量大,会带来较大的性能压力.功能设计上会动态地改变自身的元素.比如在登录前和登录后所展 ...