13-Node.js学习笔记-MongoDB
数据库相关概念
在一个数据库软件最终可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)
```
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的更多相关文章
- 系列文章--Node.js学习笔记系列
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
- Node.js学习笔记(2):基本模块
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
- Node.js学习笔记(4):Yarn简明教程
Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...
- Node.js 学习笔记之四:使用数据库
这部分示例将示范SQLite3.MongoDB这两种不同类型的数据库在 Node.js 中的使用方法.首先,我们要在code目录下执行mkdir 06_database命令来创建用于存放这一组示例的目 ...
- Node.js学习笔记(3) - 简单的curd
这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简 ...
- 强哥node.js学习笔记
node后端语言: nodejs学习大纲:1.node安装2.node repl开发3.node sublime开发4.node 使用5.node 中创建第一个应用6.node 回调函数7.node ...
- Node.js学习笔记——Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
随机推荐
- Stream系列(十二) PartitioningBy方法使用
分割列表 视频讲解: https://www.bilibili.com/video/av78106120/ EmployeeTestCase.java package com.example.demo ...
- 实战webpack系列02
02. 开始使用webpack 1.1.安装 Webpack可以使用npm安装,新建一个空的练习文件夹(此处命名为webpack sample project),在终端中转到该文件夹后执行下述指令就可 ...
- Prometheus 【目录】
正在陆续更新,内容大体包括: rule.标签重置.cAdversior.自动发现(File 自动发现.DNS自动发现.k8s环境自动发现)等... 目录: prometheus[第一篇] Promet ...
- 一个null,差点把系统给弄崩溃了
今天生产上面发现了一个奇异的bug,URL上面会带上一个ID,这个ID是关联别的系统的,类似这种格式 xxx.xxx.xxx.xxx ,是别的系统自己填写的,我们的URL会带上id=xxx.xxx. ...
- Python中的Base64编码的加密与解密
Base64 可以干些啥? Base64编码的作用: 由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法. 图片(and种子)base64 ...
- AI:为你写诗,为你做不可能的事
最近,一档全程高能的神仙节目,高调地杀入了我们的视野: 没错,就是撒贝宁主持,董卿.康辉等央视名嘴作为评审嘉宾,同时集齐央视"三大名嘴"同台的央视<主持人大赛>,这够不 ...
- 转:logback的使用和logback.xml详解
一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...
- 洛谷 题解 P1842 【奶牛玩杂技】
本蒟蒻又双叒叕被爆踩辣! Solution: 我们先看数据,50000,那么O(n)或者O(n log(n))是可以过的,非严格O(n * sqrt(n))要卡卡常,说不定也可以过. 那么什么算法可以 ...
- Swift语法注意
一直没有太弄明白可选值以及解包.下面说一下几点理解: OC中与Swift的nil 的区别: OC中nil表示指向不存在对象的指针 swift中表示值不存在,任何类型的可选值都可以为nil,包含基本数据 ...
- Vue中使用iconfont
学习博客:https://www.imooc.com/article/33597?block_id=tuijian_wz