MongoDB快速入门教程 (2)】的更多相关文章

文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据. 常见的非关系型数据库还有:Redis,但 MongoDb 比 redis 更具有数据库的特性. MongoDb的基本数据结构 与 MySQL 等关系型数据库一样,MongoDb 也有类似的概念,但是其称呼不同.下表列出了 Mo…
3.2.索引 索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,建立索引,通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录,这种扫描全集合的查询效率是非常低的,特别是在数据量特别大的时候,话费的时间就非常的多 举个例子:目前我的一个集合中有170多万条数据,我们在没有建立索引的情况下测试一下查询时间 db.course.find({"name": "mongodb入门8888"})…
4.5.Mongoose索引和方法 4.5.1.设置索引 let UserSchema = mongoose.Schema({ sn: { type: Number, // 设置唯一索引 unique: true }, name: { type: String, // 设置普通索引 index: true }, age: Number, status: Number, gender: { type: String, trim: true, default: '男' }, pic: { type:…
4.3.Mongoose模块化 4.3.1.为什么要进行模块化拆分? 模块化拆分的目的是为了代码的复用,让整个项目的结构更加清晰,举个例子:当数据库中的集合变多的时候,例如有课程.订单.分类.教师等多个集合,我们将每个集合的代码拆分到不同的模块,这样项目结构会清晰很多,同时,这些模块都要连接数据库,每个模块都去连接一遍数据库显然是不合理的写法,正确的做法是把连接数据库的代码单独拆分出来,供各个模块连接数据库的时候使用 4.3.2.拆分步骤 1.把数据库连接代码拆分出去 在项目目录下新建model…
4.2.Mongoose实现增删查改 中文文档地址: https://cn.mongoosedoc.top/docs/guide.html 4.2.1.Mongoose是什么? Mongoose是MongoDB的一个对象模型工具,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单,换句话说就是Mongoose是一个工具,这个工具可以让nodejs操作MongoDB更加方便 在学习之前我们需要注意Mongoose的一个特点,那就是通过关系型…
4.Mongoose使用 4.1.nodejs操作mongodb 文档地址:http://mongodb.github.io/node-mongodb-native/3.2/tutorials/crud/ 1.安装mongodb驱动 npm install mongodb --save-dev 2.连接数据库 const MongoClient = require('mongodb').MongoClient; var dburl = "mongodb://admin:123456@127.0.…
3.4.聚合 3.4.1.什么是聚合? MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 例如上图中一个集合中有9个文档,通过count操作后,输出一个9,这种操作就是一个单一的聚合操作 3.4.2.什么是聚合管道? 上面说到了单一的聚合操作,那什么又是聚合管道呢?你可以把管道理解为流水线,或者就是水管,把数据看作是水流,我们称之为数据流,管道中装的都是数据,数据在管道中流动,数据在一个管道中经…
3.MongoDB进阶 3.1.权限验证 以下内容适用于Mac系统用户,window系统用户请看后面文档 3.1.1.创建超级管理员用户 默认情况下连接mongodb是不需要用户名和密码的,这样不安全,我们需要进行安全配置,让连接数据库的时候经过认证才能连接 具体配置步骤如下: 1.修改mongodb配置文件,开启安全验证 如果是brew安装的mongodb,mac系统下地址mongodb默认配置文件 /usr/local/etc/mongod.conf,你需要将你的配置文件写成这样: syst…
2.MongoDB的基本的CRUD操作 2.1.创建文档 在具体操作之前,想要知道有多少数据库,可以执行下面命令 show dbs 在mongodb中,数据库中包含的叫做集合(表),集合中存储的内容叫做文档(记录) 在具体创建文档之前,也需要选定数据库 语法: use 数据库名, 例如 use nodeing_cms 插入文档 db.user.insert({"name": "admin", "age": 20}) 只要执行这条命令,会自动创建u…
1.MongoDB初识 1.1.MongoDB是什么? MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 1.2.安装MongoDB 1.2.1.windows安装 1.下载MongoDB 下载地址: https://www.mongodb.com/download-center/community 下载…