一个字段在 mongoose Schema 中可以有哪些选项?

What are all the options that a field can have in a mongoose Schema?

所以基本上我使用 mongoose 来处理 mongodb。我想知道一个字段在 mongoose 模式中可以有哪些潜在选项。例如,用户模式:

const UserSchema = new Schema(
   {
      username: {
         required: true,
         unique: true,
      },
      email: {
         required: true,
         unique: true,
      },
   },
   {
      timestamps: true,
   }
);

这里模式的字段是用户名和电子邮件。这些字段的选项是必需且唯一的。 ALL 字段在 mongoose 架构中可以具有的选项是什么?我在 mongoose 文档中找到了模式选项,但它讨论了 autoIndex 以及所有与我的问题无关的其他内容。所以我的问题又是一个字段在 mongoose 模式中可以有哪些选项。谢谢!

我相信这里提供了所有架构选项: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.selectprototype.unique),找到类似这样的内容:SchemaType.prototype.select = function select(val) { 并查看上面的评论。据我所见,只有 type 似乎没有任何示例,不知道为什么。

好吧,我不知道所有的选项让我失望,所以我一直在搜索,最终我偶然发现了文档中回答我问题的部分。因此,对于也有同样问题的任何人,请转到此 link:https://mongoosejs.com/docs/schematypes.html。对“所有模式类型”执行 ctrl f,您会找到它们:)