अगर मैं खोल में चलाएँ:MongoLab/PyMongo कनेक्शन त्रुटि
mongo ds0219xx.mlab.com:219xx/dbname -u user -p pass
यह काम करता है और अनुमति देता है मुझे डेटाबेस से कनेक्ट और जानकारी खींचने के लिए। लेकिन मैं अपने अजगर आवेदन (बोतल) के भीतर कर रहा हूँ और अगर यह चलाएँ:
import pymongo
client = pymongo.MongoClient("mongodb://user:[email protected]:219xx/dbname")
db = client["dbname"]
db.users.insert_one({
"user1": "hello"
})
यह मुझे देता है एक:
pymongo.errors.OperationFailure: Authentication failed.
मैं (यकीन है कि इससे पहले कि यह insert_one जाता वह असफल रही है) कॉल करें, लेकिन मुझे पूरी तरह से यकीन नहीं है।
धन्यवाद!
संपादित करें:
Traceback (most recent call last):
File "run.py", line 1, in <module>
from app import app
File "/Users/Derek/Documents/programming/shenalum/app/__init__.py", line 6, in <module>
from app import views
File "/Users/Derek/Documents/programming/shenalum/app/views.py", line 4, in <module>
from data import get_posts, get_user_info
File "/Users/Derek/Documents/programming/shenalum/app/data.py", line 9, in <module>
"user1": "hello"
File "/usr/local/lib/python2.7/site-packages/pymongo/collection.py", line 622, in insert_one
with self._socket_for_writes() as sock_info:
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 718, in _get_socket
with server.get_socket(self.__all_credentials) as sock_info:
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/pymongo/server.py", line 152, in get_socket
with self.pool.get_socket(all_credentials, checkout) as sock_info:
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 541, in get_socket
sock_info.check_auth(all_credentials)
File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 306, in check_auth
auth.authenticate(credentials, self)
File "/usr/local/lib/python2.7/site-packages/pymongo/auth.py", line 436, in authenticate
auth_func(credentials, sock_info)
File "/usr/local/lib/python2.7/site-packages/pymongo/auth.py", line 416, in _authenticate_default
return _authenticate_scram_sha1(credentials, sock_info)
File "/usr/local/lib/python2.7/site-packages/pymongo/auth.py", line 188, in _authenticate_scram_sha1
res = sock_info.command(source, cmd)
File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 213, in command
read_concern)
File "/usr/local/lib/python2.7/site-packages/pymongo/network.py", line 99, in command
helpers._check_command_response(response_doc, None, allowable_errors)
File "/usr/local/lib/python2.7/site-packages/pymongo/helpers.py", line 196, in _check_command_response
raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: अनुरोध करके, यहाँ पूर्ण कॉलबैक है प्रमाणीकरण विफल रहा।
क्या आप संपूर्ण ट्रेसबैक शामिल कर सकते हैं? इस तरह हम सुनिश्चित कर सकते हैं कि यह 'insert_one (...) 'कॉल से पहले विफल हो जाता है। यद्यपि त्रुटि एथ के बारे में है और इसका अर्थ शायद 'मोंग क्लाइंट' निर्माण के दौरान होगा: पी –
ने कहा कि, धन्यवाद –