У меня есть следующая схема:
const profileSchema = new Schema({
created: {
type: Date,
default: Date.now
},
readonly: {
type: Boolean,
default: false
}
});
const Profile = mongoose.model('profile',profileSchema);
Однако я обнаружил, что если я запрашиваю «дату», дата устанавливается в документах, но если я запрашиваю «только для чтения», она НЕ устанавливается в «ложь», но возвращает документ «ложь». Например:
Profile.find({readonly: false})
не вернет никаких документов. Тем не менее, если я сделаю:
Profile.find({})
Я получу все документы, а свойство «только для чтения» будет указано как «ложное».
В то же время, если при создании документа я делаю:
var newProfile = { readonly: false };
new Profile(newProfile).save();
Та же команда поиска выше выведет список этого документа. Кажется, что значение по умолчанию для логических значений неявно установлено и доступно, когда документ читается, а не запрашивается. Есть ли способ убедиться, что он установлен и доступен для поиска во всех документах, так же, как свойство «созданной» даты, или мне нужно установить его для всех новых документов вручную?