【问题标题】:What is the Purpose of Making a Copy of Schema制作 Schema 副本的目的是什么
【发布时间】:2018-03-03 03:42:41
【问题描述】:
我是 Dbs 的新手,目前正在通过 MongoDb 和 Mongoose 学习。
引用这个link,不明白线路的目的是什么:
var Tank = mongoose.model('Tank', schema);
根据链接页面上的文档,我们正在创建架构的副本。我们为什么要这样做?创建模型“副本”的目的是什么?
其次,是否公平地说,再次引用上述代码,第一个参数Tank 是集合tanks 中的标准文档?
【问题讨论】:
标签:
mongoose
schema
mongoose-schema
database
【解决方案1】:
对象是通过引用传递的,所以我假设 Mongoose 会复制架构,以确保您无法在创建模型后以编程方式修改架构。
第一个参数 'Tank' 在这种情况下是模型名称/标识符,Mongoose 将使用复数形式在数据库中创建一个集合。你可以使用任何你想要的名字,但它应该是有意义的。
对于 mongoose.model('Tank', schema),Mongoose 将创建一个名为 tanks 的集合。
注意:您可以使用第三个参数选择自己的集合名称:
mongoose.model('Tank', schema, 'custom')