I think DAL has nothing to do with Mongo.

It is much easier to use only PyMongo API.

What we really need is a "Rows factory" it shoul take arbitrary data format
(can have a scheme) and will give us back a Rows object. Also it should
have some event binders to update, delete, insert...

So programmers will do this:

mydata = pymongo.whatever() # pymongo dict like objects

rows = gluon.RowsFactory(mydata, scheme=myscheme, updater=lambda,
inserter=lambda, deleter=lambda)

now we should have a "Rows" object and it could be used for grid, forms
etc...

The problem is that it can take long time to convert things in to Rows.

So the best should be a dict + events based Form, grid and other controls
designed specifically for these cases.

Bruno Rocha
http://rochacbruno.com.br
mobile
 Em 26/11/2012 04:06, "Mark Kirkwood" <mark.kirkw...@gmail.com> escreveu:

> I am wondering if there are some deeper issues getting NoSQL support in
> Web2py -  for instance the model part seems pretty tied into relational
> ideas (e.g db.define_table and ..references db.dog etc). This design works
> really well and insulates developers from much of the fiddlyness of dealing
> directly with relation db's quirks, but the ideas themselves are clearly
> relational.
>
> The other big DAL issue would be joins..but I guess integration with GAE
> has covered that to some extent (tho it looks like GAE can kinda fake a
> join with referenced properties...might be able to do something like that
> with Mongo, but not for all other NoSQLs).
>
> On Wednesday, November 21, 2012 11:58:35 PM UTC+13, Niphlod wrote:
>>
>> that is exactly the explanation of the term "experimental".
>> The problem as always is that if noone starts to test it, it will be in
>> this way forever.
>>
>> On Tuesday, November 20, 2012 11:25:59 PM UTC+1, Simon Ashley wrote:
>>>
>>> The bottom line seems to be that we/ others need to start to use nosql
>>> engines to sort the issues.
>>> My guess is that, currently, critical mass is not present to rely on it
>>> for production sites.
>>>
>>>  --
>
>
>
>

-- 



Reply via email to