mongoose Schema中"required"的含义是什么?

use*_*080 8 mongoose mongodb node.js

我正在编写一个mongoose模式,我想了解它的属性.

这是我的架构:

var UserSchema = new Schema({
        name: String,
        username: { type: String, required: true, index: { unique: true }},
        password: { type: String, required: true, select: false }
});
Run Code Online (Sandbox Code Playgroud)
  1. 为什么required没有宣布"名字" - ?
  2. 为何required宣布?
  3. 什么select- 真/假 - 意味着什么?
  4. index- 应该宣布为什么?

Dev*_*per 9

为什么不要为'name'申报 - ?

:当一个字段必须填写时,那么在这种情况下我们会根据需要提及它.所以这里"名称"不是必需的或必填字段.

为什么要"声明"?

答案:如上所述,当一个字段必须填写时,那么在这种情况下我们会根据需要提及它.

什么是选择 - 真/假 - 意味着什么?

:这意味着在您获取文档时,默认情况下不会在数据中返回它.您可以指定默认情况下是否应在查询结果中包含或排除此路径.

架构选项

当索引 - 应该声明为什么?

:在频繁搜索该字段的数据时应声明索引,因此当您在该字段上创建索引时,在该情况下,它不搜索所有集合中的该字段,它将使用索引搜索该字段的值,并将返回结果非常很快.

索引如何在mongodb中工作