【发布时间】:2019-04-10 19:57:07
【问题描述】:
我有以下架构:
const profileSchema = new Schema({
created: {
type: Date,
default: Date.now
},
readonly: {
type: Boolean,
default: false
}
});
const Profile = mongoose.model('profile',profileSchema);
但是我发现,如果我查询“日期”,日期是在文档上设置的,但如果我查询“只读”,它不会设置为 false,而是会在文档上返回 false。例如:
Profile.find({readonly: false})
不会返回任何文件。但是,如果我这样做:
Profile.find({})
我将收到所有文件,属性“readonly”将被列为“false”。
同时,如果我在创建文档时这样做:
var newProfile = { readonly: false };
new Profile(newProfile).save();
上面相同的查找命令将列出该文档。似乎布尔值的默认值是隐式设置的,并且在读取文档时可用,而不是查询。有没有办法确保它在所有文档上都设置并可以找到,就像“创建”日期属性一样,还是我必须手动在所有新文档上设置它?
【问题讨论】:
标签: mongoose find boolean default