Ok ;)
Il giorno martedì 20 ottobre 2015 14:16:07 UTC+2, Luigi Dell'Aquila ha scritto: > > Hi Davide, > > it seems to be a bug, could you please report it in the issue tracker? > > Thanks > > Luigi > > > 2015-10-20 10:31 GMT+02:00 Davide Neri <[email protected] <javascript:>>: > >> Hey, >> does anybody have any idea? >> >> >> >> Il giorno mercoledì 14 ottobre 2015 10:57:34 UTC+2, Davide Neri ha >> scritto: >>> >>> Hi! >>> I'm using OrientDB *v.2.1.1* with *useLightweightEdges *property set to >>> true. >>> I have a question on fetch plans. I'm not sure if I'm not using it well, >>> but I'm not getting the result I was looking for. >>> >>> The structure of the database classes in the example is: >>> >>> *User* V #13 >>> *Event* V #14 >>> *Org* V #15 >>> *Media* V #16 >>> >>> *admin *E *User --> Org* >>> *fol**low *E *User --> Org* >>> *aut**hor *E *Event --> Org* >>> *ava**tar *E *Org --> Media* >>> *thumb *E *Event --> Media* >>> >>> >>> >>> I need to write a query that fetches a specific Event, its relative >>> thumb, author and the author's avatar. Nothing else. >>> So this is what I wrote in the beginning: >>> >>> SELECT @this.toJSON('rid,class,fetchPlan:[*]in_*:-2 [*]out_*:-2 >>> out_thumb:0 out_author:0 out_author.out_avatar:0') FROM Event WHERE @rid >>> = #14:8 >>> >>> >>> With *[*]in_*:-2 [*]out_*:-2* I thought I'd exclude any edge and with >>> the rest of the parameters I specify what I need. >>> But while this works for the level 0, it doesn't seem to work for the >>> other levels: out_author and out_thumb have listed all the other properties >>> too. >>> >>> { >>> "@rid": "#14:8", >>> "@class": "Event", >>> "name": "EVENT_TEST", >>> "out_author": [ >>> { >>> "@rid": "#15:0", >>> "@class": "Org", >>> "name": "ORG_TEST", >>> *"in_admin": [ "#13:0", "#13:5", "#13:6", "#13:9", >>> "#13:10", "#13:13", ... ],* >>> *"in_follow": [ "#13:0", "#13:4", "#13:5", "#13:6", >>> "#13:14", "#13:15", ... ],* >>> *"in_author": [ "#14:6", "#14:7", "#14:8", "#14:9", >>> "#14:10", "#14:11" ... ]* >>> "out_avatar": [ >>> { >>> "@rid": "#16:2", >>> "@class": "Media", >>> "url": "www.image.com" >>> *"in_thumb": [ "#14:4", "#14:6", "#14:7", "#14:12", >>> "#14:14", "#14:15", ... ],* >>> *"in_avatar": [ "#15:0" ]* >>> } >>> ] >>> } >>> ], >>> "out_thumb": [ >>> { >>> "@rid": "#16:1", >>> "@class": "Media", >>> "url": "www.image.com" >>> *"in_thumb": [ "#14:2", "#14:5", "#14:8", "#14:9", >>> "#14:10", "#14:13", ... ],* >>> *"in_avatar": [ "#15:2" ]* >>> } >>> ] >>> } >>> >>> >>> >>> >>> So I tried to add some more parameters to remove the properties I don't >>> want: >>> >>> *[*]in_avatar:-2 [*]in_thumb:-2 [*]in_author:-2 [*]in_admin:-2 >>> [*]in_follow:-2* >>> >>> So the query became like this: >>> >>> SELECT @this.toJSON('rid,class,fetchPlan:[*]in_*:-2 [*]out_*:-2 >>> out_thumb:0 out_author:0 out_author.out_avatar:0 [*]in_avatar:-2 >>> [*]in_thumb:-2 [*]in_author:-2 [*]in_admin:-2 [*]in_follow:-2') FROM >>> Event WHERE @rid = #14:8 >>> >>> >>> This partially worked since it removed >>> * "out_author.in_author"* >>> * "out_author.out_avatar.in_thumb"* >>> * "out_author.out_avatar.in_avatar"* >>> >>> But it did NOT remove >>> * "out_author.in_admin"* >>> * "out_author.in_follow"* >>> >>> >>> { >>> "@rid": "#14:8", >>> "@class": "Event", >>> "name": "EVENT_TEST", >>> "out_author": [ >>> { >>> "@rid": "#15:0", >>> "@class": "Org", >>> "name": "ORG_TEST", >>> "in_admin": [ "#13:0", "#13:5", "#13:6", "#13:9", "#13:10", >>> "#13:13", ... ], >>> "in_follow": [ "#13:0", "#13:4", "#13:5", "#13:6", "#13:14", >>> "#13:15", ... ], >>> "out_avatar": [ >>> { >>> "@rid": "#16:2", >>> "@class": "Media", >>> "url": "www.image.com" >>> } >>> ] >>> } >>> ], >>> "out_thumb": [ >>> { >>> "@rid": "#16:1", >>> "@class": "Media", >>> "url": "www.image.com" >>> } >>> ] >>> } >>> >>> >>> I also tried to use: >>> >>> *out_author.in_admin:-2 **out_author.in_follow:-2* >>> >>> but the result is the same, it's just not excluding them from the result. >>> >>> >>> Am I doing anything wrong? >>> How can I setup this query? >>> >>> Thank you very much! >>> >>> [davide] >>> >>> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "OrientDB" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
