For other kinds of matches, you need javascript queries, if I understood:

User selectOne: [ :each | each where: 'this.name[0] == "s"' ]

Right?


2013/7/4 Stéphane Ducasse <stephane.duca...@inria.fr>

> Ok but how do I map conceptual a query to a dictionary
>
> Do I guess right that there is an exact match
>
>         selectOne: { id -> 10} asDictionary
>
> will match id = 10
>
> Now we can only do exact mathc?
>
>         name matches: 'stef*'
>
>
> On Jul 4, 2013, at 6:04 PM, Esteban A. Maringolo <emaring...@gmail.com>
> wrote:
>
> > 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.
> >>
> >>
> >>
> >
>
>
>


-- 
Bernat Romagosa.

Reply via email to