mongoose – 在检索的文档中没有“_id”属性

我有一个用Meteor和外部nodejs服务器编写的网站,与meteor的mongo一起工作。 我在meteor端收集tradeOffers创build新文档,并在外部服务器(我使用mongoose)在这个集合中轮询新文档。 一切工作正常,除了mongoose返回文件没有“_id”属性。 我的代码是这样的:

 // Meteor var TradeOffers = new Mongo.Collection('tradeOffers'); TradeOffers.insert({ ... }); // Mongoose var tradeOfferSchema = new mongoose.Schema({ ... }, { collection: 'tradeOffers' }); var TradeOffer = mongoose.model('TradeOffer', tradeOfferSchema); TradeOffer.find({}).exec(function(err, results) { results.forEach(function(tradeOffer) { console.log(tradeOffer._id); // undefined }); }); 

我注意到在Meteor创build的文档有'String'types的'_id'字段,并且使用mongoose创build的文档具有'ObjectId'types的'_id'。 但即使这是问题,我该如何解决呢? 我找不到任何信息。 先谢谢你。

通过添加_id: String,来解决模式定义。