WebページIDは文字列ですが、検索する_idはObjectIdです。 「webpageid」要素のObjectId値を持つドキュメントが結果テーブルにないため、検索結果はどの結果とも一致しません。
私が見ているように、2つの解決策があります。
-
webpageid
の文字列の代わりにObjectIdsを保存できますresults
の要素 コレクション。もちろん、これの実装は、それらのドキュメントがコレクションにどのように入るかに基づいています。 -
返された
ObjectId<から文字列変数を作成できます。 / a> 代わりに比較するループ内。たとえば、 ... for(var i = 0; i < docs.length; i++) { var docId = docs[i]._id.toString(); // create a string db.get('results').findOne({'webpageid':docId}, function(err, doc) ...
2番目のオプションを使用する場合は、webpageid
の先頭に先頭の引用符がある理由を調べる必要があります。 results
の2番目のドキュメントの値 コレクション。
"webpageid" : "\"54960a916ecb16dc3c4880e8"
最後に、私はあなたの要件についてあまり知りませんが、ソリューションとしてMongoDBを再考することをお勧めします。 JOINのようなものを作成しているようですが、これはMongoDBがうまく処理できるように設計されていないものです。