mongoose Schema 中的字段可以都有哪些选项?
Posted
技术标签:
【中文标题】mongoose Schema 中的字段可以都有哪些选项?【英文标题】:What are all the options that a field can have in a mongoose Schema?mongoose Schema 中的字段可以有哪些选项? 【发布时间】:2021-10-06 10:41:30 【问题描述】:所以基本上我正在使用mongoose
与mongodb
合作。我想知道一个字段在mongoose
模式中可以拥有的所有潜在选项。例如,用户架构:
const UserSchema = new Schema(
username:
required: true,
unique: true,
,
email:
required: true,
unique: true,
,
,
timestamps: true,
);
这里架构的字段是用户名和电子邮件。这些字段的选项是必需的并且是唯一的。在mongoose
架构中,一个字段可以有哪些ALL选项?我在mongoose
文档中找到了架构选项,但它谈到了autoIndex
以及与我的问题无关的所有其他内容。所以我的问题是,一个字段在mongoose
模式中可以拥有的所有选项是什么。谢谢!
【问题讨论】:
【参考方案1】:好吧,所以我不知道所有选项一直让我感到厌烦,所以我一直在搜索,最终我偶然发现了回答我问题的文档部分。因此,对于也有同样问题的任何人,请转到此链接:https://mongoosejs.com/docs/schematypes.html。对“所有模式类型”执行 ctrl f,您会找到它们:)
【讨论】:
【参考方案2】:我相信这里提供了所有架构选项:https://mongoosejs.com/docs/api/schematypeoptions.html
万一网站宕机,列表如下:
cast
default
immutable
index
ref
required
select
sparse
text
transform
type
unique
validate
如您所见,您给定的两个选项也都在那里。我看到的一个问题是该页面中提供的示例数量。我检查了一些其他来源,发现:https://github.com/Automattic/mongoose/blob/master/lib/schematype.js
您需要做的是搜索一个字段(比如说,prototype.select
或 prototype.unique
),找到类似这样的内容:SchemaType.prototype.select = function select(val)
并检查上面的评论。从我所见,只有type
似乎没有任何例子,不知道为什么。
【讨论】:
以上是关于mongoose Schema 中的字段可以都有哪些选项?的主要内容,如果未能解决你的问题,请参考以下文章
访问 mongoose.Schema.methods 中的“select: false”字段