请问使用mongoose的时候,给model传递的参数的{ name: String, age: Number},从语法上是什么意思,感觉不是结构赋值啊

来源:2-4 Mongoose使用简介

Mark_1

2020-12-01 23:04:29

如题

写回答

1回答

Brian

2020-12-01

这个是告诉mongoose创建对应的属性的collections,见:https://mongoosejs.com/docs/models.html


中文参考:https://itbilu.com/nodejs/npm/rkm1YouP4.html


我们通过.model()方法编译了Tank模型。其中,第一个参数是模型所使用用集合的单数名称中,Mongoose会自动推断出模型名称的复数版本。因此,对于上面的示例,模型Tank在数据库中集合名称为tanks.model()方法会生成shcema的副本,在调用.model()方之前,请确保已添加了要使用的的所有shcema


ES中的解构是在取数据,而这里的model是在数据库中定义对应的集合(Collections)和及对应的数据存储的类型。

0
hrian
回复
hark_1
hp>这个问题涉及两点:


1. mongo本身的schema: https://docs.mongodb.com/realm/mongodb/document-schemas ,你本身就能当成是解构赋值,这是mongo的语法规则。


2. 可以通过源码来解释:https://github.com/Automattic/mongoose/blob/master/lib/model.js#L1308


这里是处理的逻辑,直接 this.db.createCollection 传参给mongo数据库,不涉及TS的语法规则



给了学习前端的你一种错觉:非常的相似,结果就是:1. 可能会搞混。2. 可能熟悉的人,很快就能上手。



编程语言之间,本身就有一定的联系,大家互相学习互相借鉴,所以很多时候,特别是概念和语法要学习好~才不会搞混



h021-01-12
共2条回复

0 学习 · 1842 问题

查看课程