MongoDB
文章平均质量分 65
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
aiguangyuan
要全身心的投入,程序才会有些感觉!
展开
-
MongoDB数据库修改数据库和集合名称
1. 修改数据库名// 复制一个新的数据库db.copyDatabase('old_name', 'new_name'); // 使用旧的use old_name // 删除旧的db.dropDatabase();2. 修改集合名称db.adminCommand({renameCollection: "db.collection1", to: "db.collection2"})......原创 2022-01-12 22:30:57 · 3189 阅读 · 3 评论 -
使用Mongoose的populate方法实现多表关联查询
MongoDB在3.2以上的版本有类似于 join 的 $lookup 聚合操作符,其实 Mongoose 有一个更强大的替代方法,叫做populate ( ),它允许你在其他集合中引用文档,实现更简洁优雅的查询操作。还是以内容管理系统为例,有文章分类、文章详情、文章作者三张表,UML图如下:业务需求如下:查询文章信息,并显示文章的分类以及文章的作者信息,下面用 populate 来实......原创 2020-03-20 01:01:04 · 4563 阅读 · 0 评论 -
Mongoose多表查询运用实例
在开发内容管理系统时,经常会用到多表关联查询场景,如文章分类、文章详情、文章作者三张表,UML图如下:常见的业务需求如下:查询文章信息,并显示文章的分类以及文章的作者信息。这样简单的一个需求在MySQL里要写一个很长的大SQL语句,但是在MongoDB里,凭借着Mongoose却可以轻松实现,实现步骤如下:1. 定义文章分类的schema生成模型导出// 引入自定义的数据库连接文.........原创 2020-03-19 22:22:18 · 783 阅读 · 0 评论 -
Mongoose aggregate 多表关联查询
使用Mongoose操作MongoDB数据库进行关联查询是一种比较常见的操作,操作方式有哪几种呢?下面用一个具体的案例来演示。首先模拟一点数据,分别有 order 和 order_item 两个集合:order 集合里的数据{ "_id": ObjectId("5e6f15c1eb57cc45bde8130b"), "order_id": "1", "uid"......原创 2020-03-19 14:53:32 · 2373 阅读 · 0 评论 -
Mongoose 数据校验
Mongoose为了保证数据库数据的一致性,提供了对数据校验的方法,常用的校验属性有以下这些:1. required必须传入,用于任意类型2. max最大值,用于 Number 类型数据3. min最小值, 用于 Number 类型数据4. enum枚举类型,要求数据必须满足枚举值 enum: ['0', '1', '2'],用于 St.........原创 2020-03-18 14:41:19 · 514 阅读 · 0 评论 -
Mongoose索引、内置方法、静态方法与实例方法
1.Mongoose 索引索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更快,MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧。Mongoose 中除了以前创建索引的方式,也可以在定义 Schema 的时候指定创建索引。// 定义schema时添加索引var UserSchema=mongoos.........原创 2020-03-18 12:40:35 · 1345 阅读 · 0 评论 -
Mongoose中的修饰符
Mongoose提供了修饰符功能用于对存取的数据进行一些加工,常用的修饰符有以几下几种:1. 预定义修饰符1. lowercase 转小写2. uppercase 转大写3. trim 去掉前后空格2. 自定义修饰符1. set 设置数据,会将修饰过的数据入库处理。2. get 获取实例数据时修饰,不会影响入库的数据,使用较少。3. 预定义修饰符与自............原创 2020-03-17 20:34:46 · 598 阅读 · 0 评论 -
Mongoose模块化实践
Mongoose为操作MongoDB数据库提供了很大的方便,在实际开发过程中,为了保证可扩展与可维护性,通常会将Mongoose进行模块化,下面记录一个模块化的实例,便于在以后的项目中复用。1. 定义db.js,连接数据库var mongoose = require('mongoose');mongoose.connect('mongodb://127.0.0.1:27017/test............原创 2020-03-17 16:24:42 · 817 阅读 · 0 评论 -
Mongoose 操作数据库实现增、删、改、查
1. Mongoose 介绍Mongoose 是在 Node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具,Mongoose 是 NodeJS 的驱动,不能作为其他语言的驱动。Mongoose 有两个特点 1.通过关系型数据库的思想来设计非关系型数据库。2.基于 mongodb 数据库,但简化了操作。官网:https://mong............原创 2020-03-16 21:52:07 · 1964 阅读 · 0 评论 -
MongoDB 高级查询 aggregate 聚合管道
1.MongoDB 聚合管道简介使用聚合管道可以对集合中的文档进行变换和组合,常用于多表关联查询、数据的统计。MongoDB 中使用 db.COLLECTION_NAME.aggregate([{<stage>},...]) 方法来构建和使用聚合管道,下图是官网给的实例,可以看出来聚合管道的用法还是比较简单的。2.MongoDB Aggregation 管道操............原创 2020-03-16 16:44:04 · 640 阅读 · 0 评论 -
MongoDB 4.x 的使用以及账户权限配置
1. MongoDB的安装MongoDB4.x的安装与之前版本基本一样,不同的是4.x的版本将服务写进了操作系统,所以在安装时需要设置服务名称,同时还要指定数据库文件存放目录与日志目录。如果需要使用MongoDB默认的可视化工具,记得勾选以下选项。与之前的版本一样,同样要配置环境变量完成以上步骤以后,重启电脑,然后按以下操作,确认是否安装成功。如果服务为正在启用..................原创 2020-03-15 23:05:15 · 752 阅读 · 0 评论 -
MongoDB 看这一篇就够了
一. MongoDB简介MongoDB 是一款流行的开源文档型数据库,从它的命名来看,确实是有一定野心的。MongoDB 的原名一开始来自于 英文单词"Humongous", 中文含义是指"庞大",即命名者的意图是可以处理大规模的数据。但笔者更喜欢称呼它为 "芒果"数据库,除了译音更加相近之外,原因还来自于这几年使用 MongoDB 的两种感觉:第一种感受是"爽",使用这个文档数据............原创 2019-11-02 16:45:34 · 1053 阅读 · 0 评论 -
MongoDB数据库的导出导入
在 Mongodb 中我们使用 mongodump 命令来备份 MongoDB 数据,该命令可以导出所有数据到指定目录中。mongodump -h dbhost -d dbname -o dbdirectory如果设有帐号密码请加上-u 和-p参数。mongodump -u username -p password -h dbhost -d dbname -o dbdirector......原创 2019-09-27 00:54:28 · 1604 阅读 · 0 评论 -
MongoDB 索引和explain 的使用
1. 获取当前集合(user)的索引db.user.getIndexes()2. 删除当前集合(user)的索引db.user.dropIndex({"username":1})3. 为当前集合(user)创建索引db.user.ensureIndex({"username":1})4. 为当前集合(user)创建索引并指定索引名db.user.ensureIndex(......原创 2019-05-12 22:50:19 · 2867 阅读 · 0 评论 -
MongoDB数据库常用操作
1. MongoDB数据库使用(1). 开启mongodb 服务。要管理数据库,必须先开启服务,开启服务使用 mongod --dbpath c:\mongodb,"c:\mongodb"为当前自己的数据库所在路径。(2). 管理 mongodb 数据库。在新的 cmd 窗口中输入mongo (3). 查看所有数据库列表 show dbs(4). 清屏 cls.........原创 2019-05-06 17:29:36 · 9990 阅读 · 11 评论 -
NoSQL与MongoDB简介
互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。NoSQL就是主要为了解决当下大量高并发高要求的数据库应用需求,由于关系数据库具有严格的参照性,一致性,可用性,原子性,隔离性等特点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性能的要求远远强于传统数据库关注.........原创 2019-05-06 15:04:54 · 6189 阅读 · 0 评论