1.2 数据库分类 数据库主要分成两种: 关系型数据库 • MySQL、Oracle、DB2、SQL Server …… 关系数据库中全都是表 非关系型数据库 • MongoDB、Redis...删除集合 db.collection.drop() db.users.drop(); // 删除集合(性能好),集合不存在 删除数据库 db.dropDatabase() 数据库中的数据一般不会删除...文档之间的关系: 一对一:在 MongoDB 中可以通过内嵌文档的形式来体现出一对一的关系。...2、加载 Mongoose const mongoose = require("mongoose"); 3、连接 MongoDB 数据库 mongoose.connect("mongodb:/...只需要连接一次,连接一次成功后,除非项目停止服务器关闭,否则连接一般不会断开。因为 MongoDB 数据库没有事务控制。
和Mongoose Mongodb是Web应用中最常见的NoSQL应用。...的区别 Mysql:关系型数据库,用于存储表格形式,格式规整的数据 Mongodb:文件数据库,用于存储文件,格式零散的数据。...,服务就停止了,如果我们使用 pm2来启动,那么即使停止,我们的项目还是能够继续运行。...| SQL操作 | 硬盘 Redis 非关系型 | key-value形式存储 | NoSQL | 内存 Mongodb 非关系型 |文档存储 | NoSQL | 硬盘...install mongodb-community 启动:brew services start mongodb-community 验证启动:mongo > 1 + 1 mongo 停止:brew
mongoose简介 mongoose官网:https://mongoosejs.com/ #为什么要用Mongoose Mongoose就是一个让我们可以通过Node来操作MongoDB的一个模块。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB中的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。...mongoose里都可以使用 具体可参考 :https://mongoosejs.com/docs/api.html#model_Model.find #mongoose 修改和删除 参考: https...err){ console.log('删除成功!')
连接本地数据库 let db = mongoose.connect('mongodb://localhost/test') const db = mongoose.connection; db.on(...删除 model的remove方法可以删除所有匹配查询条件(condition)的文档 Tank.remove({size:small},function(err){ if(err) return...handler(err) }) 更新 model 的 update 方法可以修改数据库中的文档,不过不会把文档返回给应用层。...六、文档-Documents Mongoose document代表着MongoDB文档的一对一映射。每个document都是他的Model的实例。...使用场景: 复杂的数据校验 删除依赖文档(删除用户后删除他的所有文档) asynchronous defaults asynchronous tasks that a certain action
它的意义是:适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。...而非关系型数据库以键值对 (key-value) 存储,它的结构不固定,每一条记录可以有不一样的键,每条记录可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。...使用 C++ 语言编写的非关系型数据库。...下载地址 4 Koa + Mongodb 操作 4.1 安装链接 npm i mongoose -Sconst mongoose = require('mongoose') // 默认 27017 端口...mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true }, () => console.log('数据库连接成功
Mongoose 介绍 Mongoose 是在 Node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具,Mongoose 是 NodeJS 的驱动,为NodeJS独有。...Mongoose 有两个特点 1. 通过关系型数据库的思想来设计非关系型数据库。 2. 基于 mongodb 数据库,但简化了操作。...const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/database_name'); 如果有账户密码需要采用下面的连接方式...mongoose.connect('mongodb://student_admin:123456@localhost:27017/database_name'); 3....删除数据 // 传入的ID不用包装成ObjectID对象 User.deleteOne({ _id: '5b72ada84e284f0acc8d318a' }, function (err)
如果主节点停止时候,在复制节点中将会选出新的主节点。 ?...模拟宕机 mongo 故障 我们将主节点停止。(也可以直接kill,但是推荐安全退出) ....mongoose 连接测试 const mongoose = require("mongoose"); const uri = "mongodb://mongo1:8410,mongo2:8411...这可是个大隐患,你的库随时都有被删除的风险。。。这可不好交代,所以我们接下来讲解如何搭建一个安全的 mongodb 环境。...测试 const mongoose = require("mongoose"); const uri = "mongodb://test:test@10.48.172.11:8410,10.48.181.145
早已久仰NoSQL的大名,知道它相对有关系型数据库,有很多的优点,只是一直没有时间来研究这个东西。所以借这个项目,对Mongodb进行了一次深入了解。...Mongodb(或者是其他NoSQL数据库)给我印象最深的就是高度的灵活性! 关系型数据库与非关系型数据库的简单对比 ?...项目中的Mongodb设计 NodeJS的流行,离不开丰富的中间件支持,对于操作Mongoose的中间件,我推荐“mongoosejs”, 官网称之为:“Mongoose ODM”。...'); mongoose.connect('mongodb://127.0.0.1:27017/blog'); 定义一个Schema(也就是Mongodb中的Collections集合),更多字段类型,...说到这里,我们先来说一个其他的问题:“关于Mongodb中两个集合之间的对应关系,设计呢?”
mysql数据库 -- 关系型数据库--表,字段,行 mongodb数据库 -- 非关系型数据库--集合,域,文档 mongodb的使用步骤: 1.安装 2.指定数据库的安装位置(创建一个文件夹...,管理mongodb的所有数据) 3.使用mongodb链接该文件夹,Windows下mongodb的命令需要在其安装目录下执行才有效....mongod --dbpath=文件夹路径 4.启动mongodb, mongo 连接mongodb数据库的命令: 1.进入MongoDB下的bin文件夹下--cd 路径 2.命令--mongod...--dbpath=C:\Users\lx\Desktop\Node\MongoDB\DB 3.再打开一个cmd 4.重复第一步--cd 路径 5.命令--mongo const mongoose...= require('mongoose'); let db=mongoose.connect('mongodb://localhost/tenDB', {useNewUrlParser: true}
简介 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考...:http://www.cnblogs.com/zhongweiv/p/node_mongodb.html Github地址:https://github.com/Automattic/mongoose...连接字符串 创建一个db.js var mongoose = require('mongoose'), DB_URL = 'mongodb://localhost:27017/mongoosesample...里会用到的一种数据模式,可以理解为表结构的定义;每个schema会映射到mongodb中的一个collection,它不具备操作数据库的能力 我们先改造一下db.js,导出mongoose对象 ...var mongoose = require('mongoose'), DB_URL = 'mongodb://localhost:27017/mongoosesample'; /** *
/models/db') mongodb.once('connect', async () => { const col = mongodb.col('fruits') // 删除已存在...而mongoose就是i 一个良好的工具。 mongoose是一个优雅的nodejs对象文档模型。它是由关系型数据库的思想去应用到非关系型数据库。...("mongoose"); // 1.连接 mongoose.connect("mongodb://localhost:27017/test", { useNewUrlParser: true })...= require("mongoose"); // 1.连接 mongoose.connect("mongodb://localhost:27017/test", { useNewUrlParser...Keystone是以Express和MongoDB和mongoose为基础搭建的开源的Node.js CMS和web应用程序平台。
本篇文章并不会逐个去展开详细讲解,主要是讲述在实战中比较重要的几个模块:模式(schemas)、模式类型(SchemaTypes)、连接(Connections)、模型(Models)和联表(Populate...连接(Connections) 我们可以通过利用mongoose.connect()方法连接 MongoDB 。...,完整的连接选项看这里 bufferCommands:这是 mongoose 中一个特殊的选项(不传递给 MongoDB 驱动),它可以禁用 mongoose 的缓冲机制。...omitUndefined:布尔值,如果为 true,则在更新之前删除值为 undefined 的属性。 rawResult:如果为 true,则返回来自 MongoDB 的原生结果。...rawResult:如果为 true,则返回来自 MongoDB 的原生结果。 callback 没有符合 filter 的数据时,返回 null。 filter 为空或 {} 时,删除第一条数据。
MongoDB是一款流行的文档型数据库,可以在Node.js中使用官方的MongoDB包或者第三方包mongoose进行操作。...:const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test', { useNewUrlParser:...使用官方的 mongodb 包来操作 MongoDB 数据库官方的 mongodb 包提供了许多方法来操作 MongoDB 数据库,例如:连接数据库、创建集合、插入文档、查询文档、更新文档、删除文档等。...mongoose 包对 mongodb 进行了二次封装,可以更加方便地操作 MongoDB 数据库。...在Node.js中,我们可以使用MongoDB官方提供的mongodb包来操作数据库,也可以使用第三方包mongoose,mongoose对mongodb进行了二次封装,使用起来更加方便。
.向name为Html5的文档中,添加一个新的核心课程 "微信小程序" //$push 用于向数组中添加一个新的元素 //$addToSet 向数组中添加一个新元素 , 如果数组中已经存在了该元素,则不会添加...而Mongoose就是一个让我们可以通过Node来操作MongoDB的模块。...--save 2.在项目中引入mongoose:let mongoose = require("mongoose"); 3.连接MongoDB数据库:mongoose.connect('mongodb...引入模块 let mongoose = require("mongoose"); mongoose.connect('mongodb://localhost/m_test1'); // 2....连接数据库 let mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/hzw_data"); mongoose.connection.once
简介 今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢,介绍Mongoose之前,我们先简单了解一下MongoDB。...MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧、灵活,非常适合在数据规模很大、事务性不强的场合下使用。...介绍了MongoDB,我们下面就要认识Mongoose了。 1. Mongoose是什么?...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB中的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。
mongoDB入门教程一:下载安装和环境配置、连接运行 ? MongoDB 是一个基于分布式文件存储的数据库, 是一个介于关系数据库和非关系数据库之间的产品。...4:删除数据库,删除当前所在的数据库 db.dropDatabase(); ? 打开可视化工具,右击刷新,可以看到teacher的库已经删除 ?...想要了解更多数据库操作命令,可以继续学习:参考:MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查 https://blog.csdn.net/cckevincyh/article/details...var mongoose = require("mongoose"); // 顶会议用户组件 var Schema = mongoose.Schema; // 创建模型 var userScheMa...坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,对于博客上面有不会的问题,可以加入qq技术交流群聊:473819131。
MongoDB简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。...MongoDB 提供了高性能、高可用、支持分片及面向文档等特性,是 Nodejs 应用程序最受欢迎的非关系型数据之一。...不会释放已经占用的硬盘空间。...即使删除 db 中的集合 ,MongoDB 也不会释放磁盘空间。同样,如果使用 GridFS 存储文件,从 GridFS 存储中删除无用的垃圾文件,MongoDB 依然不会释放磁盘空间的。...备份完成后,删除 MongoDB 的数据库,使用 Mongorestore 工具恢复备份数据到数据库。
,可以理解为JavaScript中的对象 field 字段,文档中的属性名称,可以理解为JavaScript中的对象属性 1.6 Mongoose第三方包 使用Node.js操作MongoDB数据库需要依赖...Node.js第三方包mongoose 使用npm install mongoose命令下载 1.7 启动MongoDB 在命令行工具中运行net start mongoDB即可启动MongoDB,否则...因为服务器默认是开启的,所以在启动之前要先停止MongoDB 如果在命令行窗口启动数据库失败,出现以下情况: ? 那么需要在菜单栏搜索命令行并右击鼠标以管理员身份运行 ?...mongoose.connect('mongodb://localhost/playground') .then(() => console.log('数据库连接成功')) .catch...('mongoose'); // 创建数据库 mongoose.connect('mongodb://localhost/plarground', { useNewUrlParser:
,有两种可行的方案,使用 Mongoose 的 virtual 结合 populate 和 MongoDB 原生提供的 Aggregate 里面的 $lookup 阶段来实现。...引用模型是一种规范化的数据模型,通过主外键的方式来关联多个文档之间的引用关系,减少了数据的冗余,在使用这种数据模型中就要用到关联查询,也就是本文我们要讲解的重点。...图片来源:mongoing[1] 引用模型示例 JSON 模型 我们通过作者和书籍的关系,一个作者对应多个书籍这样一个简单的示例来学习如何在 MongoDB 中实现关联非 _id 查询。...字段,并且在 populate 方法里无法更改的,但是在 Mongoose 4.5.0 之后增加了虚拟值填充[3],以便实现文档中更复杂的一些关系。...localField: 'bookIds', foreignField: 'bookId', justOne: false, }); 之前在这样设置之后,发现没有效果,这里还要注意一点: 虚拟值默认不会被
安装 mongodb MongoDBcompass 配置mongoose npm install mongoose node 连接数据库 const mongoose = require('mongoose...= require('mongoose'); mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true }...mongoose = require('mongoose'); // 数据库连接 mongoose.connect('mongodb://localhost/playground', { useNewUrlParser...第三方模块 用来操作数据库 const mongoose = require('mongoose'); // 数据库连接 mongoose.connect('mongodb://localhost/playground...第三方模块 用来操作数据库 const mongoose = require('mongoose'); // 数据库连接 mongoose.connect('mongodb://localhost/playground
领取专属 10元无门槛券
手把手带您无忧上云