मैं इस पुराने प्रश्न को जानता हूं लेकिन यदि आपको अभी भी उत्तर या किसी और की आवश्यकता है। यह उत्तर gem mongo ~> 2.3
. के साथ काम करता है ।
उत्तर देने की कुंजी आपको इस मामले में मोंगोइड की आवश्यकता नहीं है - मेरे मामले में मैं इसे रेल मॉडल के लिए उपयोग करता हूं, इसलिए मैं केवल डीबी कनेक्शन प्राप्त करने के लिए मोंगोइड (5.1.0) का उपयोग करता हूं db = Mongoid.default_client.database
- या आप मोंगो रत्न का उपयोग करके डेटाबेस प्राप्त कर सकते हैं / बना सकते हैं।
डेटाबेस पर जावास्क्रिप्ट निष्पादित करने के लिए आपको command
. पर कॉल करने की आवश्यकता है विधि db.command({ eval: 'js' })
या db.command({ eval: 'function(n){return db.projects.find({name: n}).toArray();}', args: ['beskhai'], nolock: true })
परिणाम प्राप्त करने के लिए आप .documents
. पर कॉल कर सकते हैं db.command(...).documents
, वापसी एक हैश है {retval:यह आपकी स्क्रिप्ट की वापसी होगी, ठीक है:1 यदि सफलता है} command
की वापसी वस्तु कॉल है [Mongo::Operation::Result]
https://github.com /mongodb/mongo-ruby-driver/blob/master/lib/mongo/operation/result.rb
।