oops, is { "number_field": { $gt: 42 } }
but well, you got the idea :) On Jul 4, 2013, at 7:49 PM, Esteban Lorenzano <esteba...@gmail.com> wrote: > you have different constructions: > > { $gt: { "number_field": 42 } } > > and so on... always with dictionaries (bah, json structs). > > as a query language it kinda sucks... but well... is how it is :) > > On Jul 4, 2013, at 7:34 PM, Stéphane Ducasse <stephane.duca...@inria.fr> > wrote: > >> 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. >>>> >>>> >>>> >>> >> >> >