数据库相关概念

在一个数据库软件最终可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)

```
database: 数据库,mongoDB数据库软件中可以建立多个数据库
collection: 集合,一组数据的集合,可以理解为JavaScript中的数组
document: 文档,一条具体的数据,可以理解为JavaScript中的对象
field: 字段,文档中的属性名称,可以理解为JavaScript中的对象属性
```

mac系统使用mongodb:安装和启动

```
1.在mac系统下安装mongodb比较简单,执行命令 brew install mongodb,等待一会儿,就能安装成功
2.在第一个命令行窗口中执行命令 sudo mongod --config /usr/local/etc/mongod.conf,即可启动服务。然后在第二个窗口中输入mongo,就可以使用数据库了。
```

使用nodejs连接数据库

```
const http = require('http');
const moogoose = require('mongoose');
//数据库的连接 27017是mongodb数据库的默认端口
moogoose.connect('mongodb://localhost/27017',{ useNewUrlParser: true})
.then(()=>{
console.log('数据库连接成功')
})
.catch(()=>{
console.log('数据库连接失败')
})
//创建服务器
const app = http.createServer();
//为服务器对象添加请求事件
app.on('request',(req,res)=>{
res.end('ok')

})

//监听端口

app.listen(3000);

console.log('服务器已开启')

<h3>MongoDB增删改查操作</h3>
<h4>1.创建集合</h4>
<p>创建集合分为两步,一步是对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合</p>

//设定集合规则

const courseSchema = new mongoose.Schema({

name:String,

author:String,

isPublished:Boolean

})

//创建集合并应用规则

const Course = mongoose.model('Course',courseSchema);//courses

<h4>2.创建文档</h4>
<p>创建文档实际上就是<span style="color:red;">向集合中插入数据</span></p>
<p>分为两步:</p>
<ul>
<li>创建集合实例</li>
<li>调用实例对象下的save方法将数据保存到数据库中</li>
</ul>

//创建集合实例

const course =new Course({

nameL'Node.js course',

author:'讲师',

tags:['node','backed'],

isPublished:true

});

//将数据保存到数据库中

course.save();

<h4>2.创建文档--另一种方法</h4>

Course.create({name:'JavaScript基础‘,author:'讲师‘,isPublish:true},(err,doc)=>{

//错误对象

console.log(err)

//当前插入的文档

console.log(doc)

});

13-Node.js学习笔记-MongoDB的更多相关文章

  1. 系列文章--Node.js学习笔记系列

    Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...

  2. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

  3. Node.js学习笔记(3):NPM简明教程

    Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...

  4. Node.js学习笔记(2):基本模块

    Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...

  5. Node.js学习笔记(1):Node.js快速开始

    Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...

  6. Node.js学习笔记(4):Yarn简明教程

    Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...

  7. Node.js 学习笔记之四:使用数据库

    这部分示例将示范SQLite3.MongoDB这两种不同类型的数据库在 Node.js 中的使用方法.首先,我们要在code目录下执行mkdir 06_database命令来创建用于存放这一组示例的目 ...

  8. Node.js学习笔记(3) - 简单的curd

    这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...

  9. 强哥node.js学习笔记

    node后端语言: nodejs学习大纲:1.node安装2.node repl开发3.node sublime开发4.node 使用5.node 中创建第一个应用6.node 回调函数7.node ...

  10. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

随机推荐

  1. Celery框架实现异步执行任务

    Celery 官方 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/la ...

  2. 深入了解CSS中盒子模型

    CSS中盒子模型介绍 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什 ...

  3. Chapter 02—Creating a dataset(Part1)

    一. 数据集 1. 在R语言中,进行数据分析的第一步是创建一个包含待研究数据并且符合要求的数据集. · 选择装数据的数据结构 · 把数据装入数据结构中 2. 理解数据集 (1)数据集通常是矩形的数据列 ...

  4. LNMP Shell脚本发布

    #!/bin/bash # : #This author is DKS #auto install nginx mysql php ################################## ...

  5. DNS服务正向解析实验

    DNS域名解析服务是用于解析域名与ip地址对应关系的服务,功能上可以实现正向解析和反向解析 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据IP地址查找对应的主机名(域名). 下面我来 ...

  6. ASI和AFN的区别

    ASI总结 发送请求的2个对象 1.发送GET请求 ASIHttpRequest 2.发送POST请求 ASIFormDataRequest 二发送请求 1.同步请求 startSynchronous ...

  7. 2019-2020-1 20199304《Linux内核原理与分析》第六周作业

    第五章 系统调用的三层机制(下) 1.往MenuOS中添加命令 (1)首先进入LinuxKernel文件夹,将menu目录删除.然后再git clone克隆下载更新了版本之后的menu目录(包含tim ...

  8. sync.Map(在并发环境中使用的map)

    sync.Map 有以下特性: 需要并发读写时,一般的做法是加锁,但这样性能并不高,Go语言在 1.9 版本中提供了一种效率较高的并发安全的 sync.Map,sync.Map 和 map 不同,不是 ...

  9. python推导式pythonic必备【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  10. [TimLinux] Python Django与WSGI的简介

    1. Web应用 web应用的最原始的访问流程: 客户端发送HTTP请求: 服务端接收到请求,生成一个HTML文档: 服务端将构造HTTP响应,包含:响应头(响应码.键值对).响应体(HTML文档) ...