准备工作
首先需要确保已经启动了 MongoDB,如果没有启动以管理员身份
运行cmd
net start mongoDB
其次需要安装第三方模块
npm install mongoose
并将其引入
const mongoose = require(‘mongoose’);
数据库的相关概念
术语 | 解释 |
---|---|
database | 数据库(数据仓库) |
collection | 集合,一组数据的集合,可以理解为js里的数组 |
document | 文档,一条具体的数据,可以理解为js的里对象 |
field | 字段,文档中的属性名称,可以理解为js里的对象属性 |
在一个数据库软件中可以包含多个数据仓库,在每个数据仓库中可以包含多个数据集合,在每一个数据集合中也可以包含多条文档(具体的数据),而每个集合里面又可以包含多个字段
从下面的图片具体来看
- 数据仓库有:admin、config、local(这三个是软件自带的)、playground(自己创建的)
- 集合(以playground为栗):posts、students、tests、users
- 文档:下图中右侧有3条文档
- 字段:_id(软甲自己创建的,是这条数据的唯一标识)、name、age、email
与数据库进行连接
mongose.connect('mongodb://localhost/playground', {
useNewUrlParser: true
})
.then(() => console.log('数据库连接成功'))
.catch(err => {
console.log(err);
console.log('数据库连接失败');
});
当你正在使用一个数据库时,如果该数据库不存在的话,那么MongoDB将会自动创建该数据库。另外如果只创建了数据库而没有给数据库里面添加数据的话,那么你刷新了MongoDB Compass
也不会看到这个数据库,因为里面没有集合(也就是没有数据)
创建集合
创建集合可以分为两步:
1.对集合设定相应的规则,也就是你创建的这条数据(文档)里面包含哪些内容(对象),这些内容有什么要求
2.根据规则创建集合
//创建规则
let userSchema = new mongose.Schema({
name: String,
age: Number,
hobbies: [String]
});
//根据规则创建集合
//这里要写大写字母,但是在软件中你会看到小写并加了s
let User = mongose.model('User', userSchema); //users
创建文档(具体数据)
创建文档有两种方法
// 创建文档的第一种方法
let data = {
name: '张三'