2016-05-13 4 views
1

流星のmongoで動作するMeteorと外部nodejsサーバーで書かれたWebサイトがあります。私はMeteor側のコレクションtradeOffersに新しい文書を作成し、このコレクションの新しい文書を外部サーバーにポーリングします(私はmongooseを使用します)。 mongooseが '_id'プロパティなしのドキュメントを返す以外は、すべてうまく動作します。 私のコードは、このようなものです:私は流星で作成された文書は、タイプの「_idを」「のObjectId」を持つマングースで作成したタイプ「文字列」とドキュメントの「_id」フィールドを持っていることに気づい検索された文書の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 
    }); 
}); 

。しかし、それが問題であっても、どのように解決すればよいですか?私は情報を見つけることができませんでした。前もって感謝します。

+0

あなた自身が答えました。「_id」は、これをString 'console.log(tradeOffer._id.toString());'として構文解析する必要があるようにログに記録できない 'ObjectId 'です。また、[この質問](http://stackoverflow.com/questions/13104690/nodejs-mongodb-object-id-to-string) –

+0

@DerTieranはすでにそれを試みた参照してください。それは ''未定義のtoString ''を読み取ることはできません 'と言います。 – starky

+0

@DerTieran 'console.log'から見ると、あなたが記録しようとしているものは' 'toString''を返す' 'undefined" 'それが上記の文字列であるか、実際には 'undefined'(最も可能性の高い結果)です。 –

答えて

1

_id: String,をスキーマ定義に追加して解決しました。

関連する問題