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
});
});
。しかし、それが問題であっても、どのように解決すればよいですか?私は情報を見つけることができませんでした。前もって感謝します。
あなた自身が答えました。「_id」は、これをString 'console.log(tradeOffer._id.toString());'として構文解析する必要があるようにログに記録できない 'ObjectId 'です。また、[この質問](http://stackoverflow.com/questions/13104690/nodejs-mongodb-object-id-to-string) –
@DerTieranはすでにそれを試みた参照してください。それは ''未定義のtoString ''を読み取ることはできません 'と言います。 – starky
@DerTieran 'console.log'から見ると、あなたが記録しようとしているものは' 'toString''を返す' 'undefined" 'それが上記の文字列であるか、実際には 'undefined'(最も可能性の高い結果)です。 –