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)
required没有宣布"名字" - ?required宣布?select- 真/假 - 意味着什么?index- 应该宣布为什么?为什么不要为'name'申报 - ?
答:当一个字段必须填写时,那么在这种情况下我们会根据需要提及它.所以这里"名称"不是必需的或必填字段.
为什么要"声明"?
答案:如上所述,当一个字段必须填写时,那么在这种情况下我们会根据需要提及它.
什么是选择 - 真/假 - 意味着什么?
答:这意味着在您获取文档时,默认情况下不会在数据中返回它.您可以指定默认情况下是否应在查询结果中包含或排除此路径.
当索引 - 应该声明为什么?
答:在频繁搜索该字段的数据时应声明索引,因此当您在该字段上创建索引时,在该情况下,它不搜索所有集合中的该字段,它将使用索引搜索该字段的值,并将返回结果非常很快.