That was indeed a bit help full, but I think the parse() functions takes
care of that. Do I'm not sure what that function is expecting, but more
tomorrow. I'm from Europe, so a bit of a hour gab there.

Regards Mark,

-----Oorspronkelijk bericht-----
Van: [email protected] [mailto:[email protected]] Namens Alan
Etkin
Verzonden: zondag 4 december 2011 2:21
Aan: web2py-users
Onderwerp: [web2py] Re: Converting mongodb collection to row

I see your point now, you meant a Rows instance (kind of a subset of a
table)
Would you post the exception (if any), when trying to read the query result?

The point is that the select method has to instantiate properly a Rows
object

Have you read this web2py API section?
http://web2py.com/examples/static/epydoc/web2py.gluon.dal.Rows-class.html

I think it could help. That is the object wich is to be returned by a
correct select

Note that the Rows instance is normally returned by this web2py
statement:
dal_instance(query_object).select(*arguments)

On Dec 3, 7:36 pm, Alan Etkin <[email protected]> wrote:
> When you say that you try to convert a collection to arow, isn't there 
> a conflict with database systems?
>
> I looking for the first time themongodbdatabase design, and i assume 
> there is got to be some sort of mapping of objects:
>
> - A DAL Table is like a Collection
> - A DALRowis (more or less) like a Document
> - A DAL Field is like any object stored inside the Document at the 
> root Document level
>
> As long as there is not more depth in themongodbobject than the 
> described, the parsing by using a json like simplejson or similar 
> interface should be straightforward. I think this goes beyond my 
> database skills but i would like to see the interface implemented if 
> it is available (and shared) somewhere.
>
> Thanks for your feedback
>
> On Dec 3, 12:35 pm, Mark Breedveld <[email protected]> wrote:
>
> > I'm currently modifing the DAL.py file to get DAL working 
> > withmongoDB. I got the insert part working, but the of the select 
> > method. So __select is working, but select() ain't. Because I need 
> > to convert a pymongo collection to arow. The line I point to has 
> > been written by Massimo, but isn't working. I have no idea's at the 
> > moment to do this in a general way. The returned value is a dict or 
> > a list of dict's, but of course not formatted in a DAL way.
>
> > -----Oorspronkelijk bericht-----
> > Van: [email protected] [mailto:[email protected]] Namens 
> > Alan Etkin
> > Verzonden: zaterdag 3 december 2011 17:14
> > Aan: web2py-users
> > Onderwerp: [web2py] Re: Convertingmongodbcollection torow
>
> > Mark, i don't understand your post. Did you modify web2py code? 
> > Could you provide a little background on the interface you are working
on?
> > Thank you
>
> > On Nov 30, 10:50 am, Mark Breedveld <[email protected]> wrote:
>
> > > I have got the select function ofmongodbadapter working, but know 
> > > I need to convert a pymongo cursor torow.
> > > The point is the pymongo supports nested documents and that can be 
> > > a bit hard to convert for a parameter of the parse method.
>
> > > Here is the select function a have ajusted, but this one won't 
> > > work with yours because I also altered a lot of other functions. 
> > > But this is to get the idea. The line that has to be changed is 
> > > pointed to with
> > > <--
> > >     def select(self,query,fields,attributes):
> > >         #if not isinstance(query,Query):
> > >         #    raise SyntaxError, "Not Supported"
> > >         definition = self._select(query,fields,attributes)
>
> > >         ctable = self.connection[str(definition['tablename'])]
> > >         if ((definition['sort'] == None) & (definition['skip'] ==
> > > None)):
> > >             result = ctable.find(definition['query'])
> > >         elif((definition['sort'] != None) & (definition['skip'] ==
> > > None)):
> > >             result =
> > > ctable.find(definition['query']).sort(definition['sort'])
> > >         elif((definition['sort'] == None) & (definition['skip'] !=
> > > None)):
> > >             result =
> > > ctable.find(definition['query']).skip(definition['skip'])
> > >         elif((definition['sort'] != None) & (definition['skip'] !=
> > > None)):
> > >             result =
> > > ctable.find(definition['query']).sort(definition['sort']).skip(def
> > > init
> > > ion['skip'])
> > >         else:
> > >             raise RuntimeError, "No valid query information found"
> > >         print str(result)
> > >         #rows = [cols['value'] for cols in result] <--- This line 
> > > converts the result to be parsed
> > >         return self.parse(rows, definition['colnames'], False)
>
> > > Anyone with advise on the matter or ideas?
>
> > -----
> > Geen virus gevonden in dit bericht.
> > Gecontroleerd door AVG -www.avg.com
> > Versie: 2012.0.1873 / Virusdatabase: 2102/4653 - datum van uitgifte:
> > 12/02/11
>
>

-----
Geen virus gevonden in dit bericht.
Gecontroleerd door AVG - www.avg.com
Versie: 2012.0.1873 / Virusdatabase: 2102/4654 - datum van uitgifte:
12/03/11

Reply via email to