如何使用猫鼬将嵌入文档默认为空

Posted

技术标签:

【中文标题】如何使用猫鼬将嵌入文档默认为空【英文标题】:How to default an embedded document to null with mongoose 【发布时间】:2015-02-26 00:53:49 【问题描述】:

假设我有一个架构,其中包含一个名为首选项的嵌入式文档,其中包含多个值。我正在尝试让猫鼬默认嵌入文档为空

例如,我在过去将字符串和日期等基本类型的字段默认为空。

var userSchema = new Schema(
name: type: String, required: true,
preferences: type: preferences, default: null
);

var preferences: 
preference1: String,
preference2: String

在创建新文档时,我应该如何将 userSchema 中的属性首选项默认为空?

【问题讨论】:

【参考方案1】:
var userSchema = new mongoose.Schema(
  name: type: String, required: true,
  preferences: type :  preference1 : String, preference2 : String, default : null
);

测试:

User.create(name : "Aladin")
User.create(name : "Aladin", preferences : preference1 : "Wunderlampen", preference2 : "Teppich" )

【讨论】:

以上是关于如何使用猫鼬将嵌入文档默认为空的主要内容,如果未能解决你的问题,请参考以下文章

使用猫鼬将对象数组添加到子文档

如何避免在对象内部创建对象并使用猫鼬将元素直接推送到快速数组中?

如何让猫鼬列出集合中的所有文档?判断集合是不是为空?

如何在猫鼬的嵌入式文档中填充字段?

如何更新具有嵌入文档的猫鼬数组中的许多元素

嵌入式文档的猫鼬更新