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.