Você quer solicitar um recurso ou relatar um bug ?
Inseto
Qual é o comportamento atual?
No script abaixo, quando puxamos o documento pai, vemos que child
volta como {}
, mas child2
volta como { field: 'test'}
apesar do fato que ChildSchema.field
tem select: false
.
Ao olhar para o depurador, apenas child.field
está sendo selecionado e child2.field
não está.
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/test');
const db = mongoose.connection;
db.once('open', async () => {
try {
const ChildSchema = new mongoose.Schema({
field: {
type: String,
select: false,
},
_id: false,
}, { id: false });
const ParentSchema = new mongoose.Schema({
child: ChildSchema,
child2: ChildSchema,
});
const Parent = mongoose.model('Parent', ParentSchema);
const ogParent = new Parent();
ogParent.child = { field: 'test' };
ogParent.child2 = { field: 'test' };
await ogParent.save();
const foundParent = await Parent.findById(ogParent._id).exec();
console.log(foundParent);
db.close();
} catch (e) {
console.log(e);
}
});
Mencione sua versão node.js, mongoose e MongoDB.
4.11.8
obrigado pelo script repro completo, isso parece um bug
Dando a @wlingke um emblema imaginário de Melhor Localizador de Insetos Mongoose do ano 2017 ™ 🐜
@wlingke , encontrando todos os bugs mais sutis no mangusto desde 2014: rocket:: 1st_place_medal:
Comentários muito úteis
@wlingke , encontrando todos os bugs mais sutis no mangusto desde 2014: rocket:: 1st_place_medal: