Boa noite,
Eu estou tentando utilizar o MongoDB com o Web2py, e para isso eu comecei com a autenticação, mas esta aparecendo uns erros que não estou entendendo.
Num banco de dados relacional, o Web2py cria as tabelas de autenticação, no MongoDB as collections também são criadas automaticamente?
Abaixo segue o codigo e o erro quando tento me logar:
db.py
db = DAL("mongodb://localhost/primer", check_reserved=["mongodb_nonreserved",], adapter_args={"safe":False})
from gluon.tools import Auth, Service, PluginManager
auth = Auth(db)
service = Service()
plugins = PluginManager()
auth.settings.remember_me_form = False
auth.settings.actions_disabled=['register','change_password','request_reset_password','retrieve_username','profile']
auth.define_tables(username=True)
from gluon.contrib.login_methods.ldap_auth import ldap_auth
auth.settings.login_methods = [ldap_auth(server='localhost', port='10389', base_dn='ou=people,o=empresa,dc=com,dc=br')]
A autenticação é por LDAP, e funciona perfeitamente num banco de dados relacional, que possui a tabela auth_user.
Contudo, ao se logar utilizando o MongoDB, esta aparecendo o seguinte erro:
Traceback (most recent call last):
File "C:\Users\Rafa\Desktop\web2py-10-06-2015p4\applications\contrato\controllers/appadmin.py", line 249, in select
nrows = db(query, ignore_common_filters=True).count()
File "C:\Users\Rafa\Desktop\web2py-10-06-2015p4\gluon\packages\dal\pydal\objects.py", line 2016, in count
return db._adapter.count(self.query,distinct)
File "C:\Users\Rafa\Desktop\web2py-10-06-2015p4\gluon\packages\dal\pydal\adapters\mongo.py", line 200, in count
count=True,snapshot=snapshot)['count'])
File "C:\Users\Rafa\Desktop\web2py-10-06-2015p4\gluon\packages\dal\pydal\adapters\mongo.py", line 319, in select
sort=mongosort_list, snapshot=snapshot).count()}
File "C:\Python27\lib\site-packages\pymongo\collection.py", line 929, in find
return Cursor(self, *args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'snapshot'
O database "primer" está criado e só possui 2 collections "posts" e "system.indexes"
Alguem poderia me ajudar com esse erro para conseguir utilizar o MongoDB junto com o Web2py?
Grato