php - Iterate over an array returned by mongodb query -
मैं निम्नलिखित प्रारूप का एक MongoDB संग्रह है:
{ "_ id": ObjectId ( "5141916511e5b498fd2031c4"), "Itemid": 1, "सिफारिशों": [{ "Itemid": 216, "मूल्यांकन": .875297364790784}, { "Itemid": 246, "मूल्यांकन": .8793363655122852}]} { "_ id": ObjectId ( "5141916511e5b498fd2031c5"), "Itemid": 2, "सिफारिशों": [{ "Itemid": 60, "मूल्यांकन": .9405825249353504}, { "Itemid": 76, "मूल्यांकन": .8822827294664317}]} मैं किसी दिए गए Itemid के लिए सिफारिशें पुनः प्राप्त करने और उसके बाद पुनरावृति से अधिक यह सब सिफारिश itemids प्रिंट और ratings.I को इस बात के लिए php का उपयोग कर रहा चाहते हैं।
जब मैं कोशिश पुनरावृत्ति करने के लिए कर्सर पर लौटने पर, यह फेंकता है "घातक त्रुटि: किसी सदस्य फ़ंक्शन में कॉल करें अगला () गैर ऑब्जेक्ट पर" त्रुटि। ऐसा लगता है resultset क्वेरी द्वारा रिटर्न प्रकार कर्सर की नहीं है
नीचे कोड मैं का उपयोग कर रहा है:।?
<कोड> & lt; php $ MongoDB = नए मोंगो ( "10.128 .170.49: 27017 "); $ डेटाबेस = $ मोंगोडब-> उत्पादडाटा; $ संग्रह = $ डेटाबेस- & gt; अनुशंसा 1; $ कर्सर 1 = $ संग्रह- & gt; खोजऑन (सरणी ("आइटम आईडी" = & gt; 1), सरणी ('अनुशंसाएं')); var_dump ($ cursor1); गूंजना "& lt; घंटा / & gt; & lt; p & gt; एक कर्सर पर चढ़ाना & lt; / p & gt;"; जबकि ($ कर्सर 1- & gt; हैनईडेड ()): $ document = $ cursor1- & gt; getNext (); $ Itemid = $ दस्तावेज़ ['itemid']; $ संभावित_रेटिंग = $ दस्तावेज़ ['रेटिंग']; गूंज ($ itemid)। "& Lt; br / & gt;"; प्रतिध्वनि ($ संभावित_रेटिंग)। "& Lt; br / & gt;"; गूंज "& lt; घंटा / & gt;"; endwhile; ? & Gt; कृपया इस समस्या को हल करने में मेरी मदद करें।
आपको परिवर्तन findOne () के लिए मिल () - <कोड> findOne () पहले पाया परिणाम देता है
-
ढूंढें () एक कर्सर देता है
Comments
Post a Comment