Vaše id webových stránek jsou řetězce, zatímco _id, pomocí kterých hledáte, jsou ObjectId. Váš nález neodpovídá žádným výsledkům, protože v tabulce výsledků nejsou žádné dokumenty s hodnotami ObjectId pro prvek "webpageid".
Jak to vidím já, existují dvě řešení.
- Pro
webpageid
můžete místo řetězců uložit ObjectId prvek veresults
sbírka. Implementace tohoto je samozřejmě založena na tom, jak se tyto dokumenty dostanou do sbírky. -
Můžete vytvořit řetězcovou proměnnou z vráceného ObjectId ve smyčce k porovnání. Například,
... 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) ...
Pokud zvolíte druhou možnost, možná se budete muset podívat, proč je na začátku webpageid
úvodní uvozovka hodnotu pro druhý dokument ve results
kolekce.
"webpageid" : "\"54960a916ecb16dc3c4880e8"
A konečně, moc toho o vašich požadavcích nevím, ale možná budete chtít přehodnotit MongoDB jako řešení. Zdá se, že vytváříte něco jako JOIN, což je něco, co MongoDB není navrženo tak, aby to dobře zvládalo.