Mongoose 查询数据库中现有的表(文档),而非创建新表的操作

使用了一阵子 Mongoose 之后发现并没有可以直接操作现有 文档 的 API ,上百度和 CSDN 查找了很久也没有发现大家将这一简单操作写出来,而都是操作 Schemamodel 约束文档和创建文档

应用场景:使用数据库中现成的 (文档)进行 增删改查 ,而非创建新表

  1. 第一步:导入 mongoose 核心模块,并进行本地数据库连接
// 引入相关核心模块
const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/db_goods_manager', { useNewUrlParser: true })
    .then(() => console.log('数据库连接成功'))
    .catch(err => console.log('数据库连接失败', err));
  1. 第二步:创建 Schema 实例对象,并应用该实例对象
// Schema是个构造函数
const courseSchema = new mongoose.Schema({});
// 引用集合并应用规则
// 被使用的集合的名称默认要大写
const Dept = mongoose.model('Dept', courseSchema);
// 但是最终被存入数据库之中的名字会是小写,且会被加上一个s,也就是 depts 

// 切记,如果你连接的这个数据库中没有一张名为 depts 的表,这两步操作将会创建一张叫这名儿的新表

// model的返回值是一个构造函数
// 这个构造函数将能对这个集合进行mongodb操作
  1. 查询并显示该文档全部内容
// 查询文档
Dept.find().then(result => console.log(result))

你需要明白 Schema 、Model、Docment 三者之间的关系

  • Schema(模式对象)
  • Schema对象定义约束了数据库中的文档结构
  • Model
  • Model对象作为集合中的所有文档的表示,相当于 MongoDB数据库中的集合collection
  • Document
  • Document表示集合中的具体文档,相当于集合中 的一个具体的文档
  • 注意: 创建也是有顺序的 现有Schema再有Medel然后Document
  • 引用自轻小說控

更加简明的说:

Schema 要定义被拿到 js 文件中使用的的基础字段结构

Model 将拿到连接数据库中具体的某一张表,没有这个表就按照Schema约束创建一张这样的表

所以这两步操作可以在数据库中创建一张新表,也可以拿到数据库中已经存在的一张表

因此,我们外部新建 MongoDB 数据库时,表名一定要加上一个 s 后缀!!

更多操作可见 CSDN 某一博客作者:轻小說控

或者 Mongoose 中文文档

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值