Stef,

You're asking the other Esteban, but having used Voyage and Mongo I
think I can answer this.

Mongo receives a JSON object to do all the query filtering. For a
simple lookup it is has a simple structre, as the query gets more
complex it gets esoteric as well (with "special" MongoDB keys in the
format of "$key").

Because the simplest map we have to a JSON Object is the Dictionary, I
guess that's why it ends up being converted to a Dictionary, which in
turn gets converted to JSON and/or BSON.

Regards,

Esteban A. Maringolo


2013/7/4 Stéphane Ducasse <stephane.duca...@inria.fr>:
>
> On Jul 4, 2013, at 2:58 PM, Esteban Lorenzano <esteba...@gmail.com> wrote:
>
> Hi :)
>
> can you check if you have the "MongoQueries" package installed?
>
> cheers,
> Esteban
>
> ps: please notice that in anycase you will not be able to execute
>
> [ :each | each name first = $X ]
>
> because the MongoQueries package just translates the block into a
> mongo-query which is a dictionary (a JSON expression). But you will found
> some ways to help you, some special keywords like #in: and #where: (you can
> see how they work in the tests)
>
>
> esteban
> how a dictionary is used to work as a block for a query?
> Can you explain because I would have thought that the first line did not
> work and the second would work.
>
> Stef
>
>
>
>
> On Jul 4, 2013, at 2:17 PM, Bernat Romagosa <tibabenfortlapala...@gmail.com>
> wrote:
>
> Hi!
>
> I realize probably only Esteban will be able to answer, but I prefer to
> write to the list so the mail is logged and other people can benefit from
> it.
>
> I'm trying to use blocks as arguments for #selectOne: and #selectMany:, but
> it doesn't seem to work. Here's my code:
>
> MyClass selectOne: { #name -> 'Some name' } asDictionary.
> MyClass selectOne: [ :each | each name = 'Some name' ].
>
>
> The first one works, but the second one raises a VOMongoConnectionError.
>
> Also:
>
> MyClass selectMany: { #name -> 'Some name' } asDictionary.
> MyClass selectMany: [ :each | each name = 'Some name' ].
>
>
> The first does work, the second one doesn't, which prevents me from writing
> more useful stuff like:
>
> MyClass selectMany: [ :each | each name first = $P ].
>
> Any idea why this could be failing? I've the latest stable version loaded
> via:
>
> Gofer it
> url: 'http://smalltalkhub.com/mc/estebanlm/Voyage/main';
> package: 'ConfigurationOfVoyageMongo';
> load.
> (Smalltalk at: #ConfigurationOfVoyageMongo) load.
>
> Thanks! :)
>
> Bernat.
>
> --
> Bernat Romagosa.
>
>
>

Reply via email to