[web2py] Re: MongoDB Adapter error in select

2012-05-21 Thread Francisco Costa
requested here: https://groups.google.com/d/topic/web2py/pqdYpUbMXKQ/discussion On Monday, May 14, 2012 2:35:43 AM UTC+1, Massimo Di Pierro wrote: I think you can already db.table.insert(**dict()) Are you asking for something different? On Saturday, 12 May 2012 05:25:02 UTC-5,

[web2py] Re: MongoDB Adapter error in select

2012-05-15 Thread Krzysztof Mulica
I'm guessing he's looking for something like I am, http://cookbook.mongodb.org/patterns/count_tags/ { title : A blog post, author : Kristina, content : ..., tags : [MongoDB, Map/Reduce, Recipe] } using DAL, how would I go about inserting that list, what wouldd the type be

[web2py] Re: MongoDB Adapter error in select

2012-05-13 Thread Massimo Di Pierro
I think you can already db.table.insert(**dict()) Are you asking for something different? On Saturday, 12 May 2012 05:25:02 UTC-5, Francisco Costa wrote: It works Massimo! In MongoDb is also common to insert dicts, can we also have that? At the moment it only saves in the string format

[web2py] Re: MongoDB Adapter error in select

2012-05-12 Thread Francisco Costa
It works Massimo! In MongoDb is also common to insert dicts, can we also have that? At the moment it only saves in the string format (check player Field) { _id : ObjectId(4fae3839b34f4brf5a31), city : Madrid, club : Real Madrid, *player : {'n_goals': 43, 'name': 'Ronaldo'}* } On Friday,

[web2py] Re: MongoDB Adapter error in select

2012-05-11 Thread Francisco Costa
Thanks Massimo. Please let me know if you need more help in debugging it On Friday, May 11, 2012 12:40:35 AM UTC+1, Massimo Di Pierro wrote: Now I understand better where all these problems come from. I shall fix it tonight. On Thursday, 10 May 2012 18:02:24 UTC-5, Francisco Costa wrote:

[web2py] Re: MongoDB Adapter error in select

2012-05-11 Thread Francisco Costa
the latest DAL produces this error users = mongo(mongo.user.age==18).select() File /opt/web2py/gluon/dal.py, line 8004, in select return adapter.select(self.query,fields,attributes) File /opt/web2py/gluon/dal.py, line 4528, in select colnames = [fix(column) for column in

[web2py] Re: MongoDB Adapter error in select

2012-05-11 Thread Massimo Di Pierro
One more try please. On Friday, 11 May 2012 06:04:52 UTC-5, Francisco Costa wrote: Thanks Massimo. Please let me know if you need more help in debugging it On Friday, May 11, 2012 12:40:35 AM UTC+1, Massimo Di Pierro wrote: Now I understand better where all these problems come from. I shall

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread kokoyo
Hi Massimo, i did it and get output (test on user_auth table): mongoqry_dict ={'email': 'myem...@gmail.com'} mongofields_dict = SON([('id':1), ('first_name':1), ('last_name': 1), ('email':1), ('password':1), ('registration_key': 1), ('reset_password_key':1), ('registration_id':1) ])

Re: [web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Francisco Costa
I've enumerated fields and colnames and they are like this: fields: id text integer string colnames: city age _id name I believe they don't match and thats why there's this error: File /opt/web2py/gluon/dal.py, line 8134, in select return adapter.select(self.query,fields,attributes) File

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Massimo Di Pierro
Please try trunk again. On Thursday, 10 May 2012 01:03:22 UTC-5, kokoyo wrote: Hi Massimo, i did it and get output (test on user_auth table): mongoqry_dict ={'email': 'myem...@gmail.com'} mongofields_dict = SON([('id':1), ('first_name':1), ('last_name': 1), ('email':1), ('password':1),

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Francisco Costa
Still not working. I think Fields order is wrong. At the end of the select() function I write this: a = [] for f in fields: a.append(f.type) return dict(rows=rows, fields=a, colnames=colnames) and I got this: colnames: city age _id name fields: id text

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Massimo Di Pierro
This helps. I have another attempt to fix this in trunk. Hard to test it since I do not have mongodb installed. On Thursday, 10 May 2012 08:39:22 UTC-5, Francisco Costa wrote: Still not working. I think Fields order is wrong. At the end of the select() function I write this: a = []

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Francisco Costa
Just add a '\' at the end of line 4664 and your are done! Great job Massimo! On Thursday, May 10, 2012 9:12:48 PM UTC+1, Massimo Di Pierro wrote: This helps. I have another attempt to fix this in trunk. Hard to test it since I do not have mongodb installed. On Thursday, 10 May 2012

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Francisco Costa
I found another problem!! if you do this: mongo.user.insert(name='Jim', age=18, city='Detroit') mongo.user.insert(name='Jack', age=18) and then select users = mongo(mongo.user.age==18).select() you don't have the field city in one of the rows, so you get this error: users =

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Massimo Di Pierro
What's the model? On Thursday, 10 May 2012 16:27:51 UTC-5, Francisco Costa wrote: I found another problem!! if you do this: mongo.user.insert(name='Jim', age=18, city='Detroit') mongo.user.insert(name='Jack', age=18) and then select users = mongo(mongo.user.age==18).select()

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Francisco Costa
i didn't understand your question.. This is the complete code import sys import time from gluon.dal import DAL, Field mongo = DAL('mongodb://localhost:27017/sapo') mongo.define_table('user', Field('name', 'text'), Field('age', 'integer'),

[web2py] Re: MongoDB Adapter error in select

2012-05-10 Thread Massimo Di Pierro
Now I understand better where all these problems come from. I shall fix it tonight. On Thursday, 10 May 2012 18:02:24 UTC-5, Francisco Costa wrote: i didn't understand your question.. This is the complete code import sys import time from gluon.dal import DAL, Field mongo =

[web2py] Re: MongoDB Adapter error in select

2012-05-09 Thread Francisco Costa
I've enumerated fields and colnames and they are like this: fields: id text integer string colnames: city age _id name I believe they don't match and thats why there's this error: File /opt/web2py/gluon/dal.py, line 8134, in select return adapter.select(self.query,fields,attributes) File

[web2py] Re: MongoDB Adapter error in select

2012-05-09 Thread kokoyo
Hi Costa , first im sorry for my wrong post above,It should be a new post with new question. Actually i have same problem like you, i did a quick test and have not solved this issue yet, here is what i did: set driver to use mongodb in: DB.py : if not request.env.web2py_runtime_gae: ## if

[web2py] Re: MongoDB Adapter error in select

2012-05-09 Thread Francisco Costa
Lets hope Massimo fix that today in trunk On Wednesday, May 9, 2012 12:28:50 PM UTC+1, kokoyo wrote: Hi Costa , first im sorry for my wrong post above,It should be a new post with new question. Actually i have same problem like you, i did a quick test and have not solved this issue yet,

[web2py] Re: MongoDB Adapter error in select

2012-05-09 Thread kokoyo
Seems DAL alway looks the first column if all tables is ID field (after remove _id column from mongo) { _id : ObjectId(4de83c816afb62e8367163b1), first_name : koko, last_name:yo, password } * * On Wednesday, May 9, 2012 7:42:56 PM UTC+9, Francisco Costa wrote: I've enumerated fields

[web2py] Re: MongoDB Adapter error in select

2012-05-09 Thread Massimo Di Pierro
Should be an easy fix but I need your help. Before line 4711 of dal.py return processor(rows,fields,colnames,False) can you add print rows print fields print colnames what is the output when it fails? On Wednesday, 9 May 2012 05:42:56 UTC-5, Francisco Costa wrote: I've enumerated fields

[web2py] Re: MongoDB Adapter error in select

2012-05-08 Thread Francisco Costa
Now i get this error: File /opt/web2py/gluon/dal.py, line 8134, in select return adapter.select(self.query,fields,attributes) File /opt/web2py/gluon/dal.py, line 4711, in select return processor(rows,fields,colnames,False) File /opt/web2py/gluon/dal.py, line 1681, in parse

[web2py] Re: MongoDB Adapter error in select

2012-05-08 Thread kokoyo
Hello, i got this error when tried pymongo and web2py: On Linux: type 'exceptions.ImportError' cannot import name son . rows = self.dbset(field == value, ignore_common_filters = self.ignore_common_filters).select(limitby=(0, 1)) File /home/kokoyo/webapps/w2p/web2py/gluon/dal.py, line

[web2py] Re: MongoDB Adapter error in select

2012-05-07 Thread Massimo Di Pierro
Your linennumbers do not much the code in trunk. Please try the code in trunk. Anyway, something goes wrong in the parse(self, rows, fields, colnames, blob_decode=True) function. I suspect mongo does not return the columns in the order web2py think it does. Can you print the input of the parse

[web2py] Re: MongoDB Adapter error in select

2012-05-07 Thread Francisco Costa
I think that the mongofields_dict.keys() don't match to the data in the rows mongofields_dict: id name age city rows: Toronto 66L 24652490551171733682233802752L John On Monday, May 7, 2012 8:42:33 PM UTC+1, Massimo Di Pierro wrote: Your linennumbers do not much the code in trunk. Please try

[web2py] Re: MongoDB Adapter error in select

2012-05-07 Thread Massimo Di Pierro
Thanks for your help and check on this. I just committed a fix in trunk that should address it. Please let me know. On Monday, 7 May 2012 15:19:40 UTC-5, Francisco Costa wrote: I think that the mongofields_dict.keys() don't match to the data in the rows mongofields_dict: id name age

[web2py] Re: MongoDB Adapter error in select

2012-05-07 Thread Francisco Costa
missing a colon at the end of the line 4677 if key == 'id' and now I get this error File /opt/web2py/gluon/dal.py, line 8134, in select return adapter.select(self.query,fields,attributes) File /opt/web2py/gluon/dal.py, line 4711, in select return processor(rows,columns,False)

[web2py] Re: MongoDB Adapter error in select

2012-05-07 Thread Massimo Di Pierro
Please try again. On Monday, 7 May 2012 15:48:04 UTC-5, Francisco Costa wrote: missing a colon at the end of the line 4677 if key == 'id' and now I get this error File /opt/web2py/gluon/dal.py, line 8134, in select return adapter.select(self.query,fields,attributes) File