sure :)

I will add a blog post on "voyage advanced queries" too :)

Esteban

On Jul 6, 2013, at 10:52 AM, Stéphane Ducasse <stephane.duca...@inria.fr> wrote:

> esteban could you take some time to add this information to the Voyage 
> chapter?
> 
>       https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/
> 
> add the information in any format and I can make it run.
> 
>       https://github.com/SquareBracketAssociates/PharoForTheEnterprise-english
> 
> Stef
> 
> 
> 
> 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.
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 


Reply via email to