mongoose.Schema() 和 new mongoose.Schema() 有啥区别?
Posted
技术标签:
【中文标题】mongoose.Schema() 和 new mongoose.Schema() 有啥区别?【英文标题】:What is the difference between mongoose.Schema() and new mongoose.Schema()?mongoose.Schema() 和 new mongoose.Schema() 有什么区别? 【发布时间】:2020-05-09 06:10:46 【问题描述】:mongoose.Schema()
和 new mongoose.Schema()
有什么区别?
我使用了这两种标准,而且我认为两者都做同样的工作。有什么影响吗?
【问题讨论】:
你确定两者都做同样的工作吗?我不知道。也只是问问。他们可能都做同样的工作。new
关键字的意思是 instantiate a new object
虽然
重复***.com/questions/39719454/…
这能回答你的问题吗? Creating Mongoose Schemas with or without 'new' keyword?
【参考方案1】:
查看docs,应该始终使用new
关键字调用它,因为Schema
是一个构造函数。
查看source code,如果您尝试在没有new
关键字的情况下使用它,它将返回一个新分配的对象。
两者都可以,但我只会使用第一个,因为它是正确的方法。 遵循标准约定将使您的代码更易于阅读;不仅对其他人,而且当您在 6 个月后回到它时,对您也是如此。
【讨论】:
以上是关于mongoose.Schema() 和 new mongoose.Schema() 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
如何实现 type:(new mongoose.Schema) as Array
从另一个 mongoose.Schema 调用 mongoose.Schema 中的静态