Mongoose:如何在填充期间排除虚拟ID字段

我试图排除Mongoose设置的虚拟ID字段。

var Bar = new Schema({ body: String }); var Foo = new Schema({ bars: type: Schema.Types.ObjectId, ref: 'Bar' }); Foo .find({..query...}) .populate('bars', 'body -_id') .exec(function(err, foos){ console.log(foos); // { bars: [{id: null, body: 'body string'}] } }); 

我如何摆脱这个'id'字段? 无论如何,因为我已经排除_id填充?

您可以禁用模式选项中的虚拟id字段( 请参阅此处的文档 )。 在你的情况下,它看起来像这样:

 var Bar = new Schema({ body: String }, { id: false });