Hi Pablo, you can try this:

SELECT userId, activities[type = 'excursion'] as excursionActivities from
from User unwind excursionActivities

Thanks

Luigi

2016-04-13 1:28 GMT+02:00 pabloa <[email protected]>:

> Hello
>
> I have a class User with 2 fields in a graph database
>
> User
> ====
> userId  --> integer
> activities  --> list of objects
>
> "activities" values are list of objects. Those objects are not real
> entities, so I added them in the class. For example:
>
> {
> "userId":23232,
> "activities": [{"day": 27, "type": "excursion", data: "Buenos
> Aires"}, {"day": 28, "type": "picnic", data: "Delta Tigre"}, {"day": 30,
> "type": "nightclub", data: "Oh lalala"}, .... ]
> }
>
> Each user in User class have his/her activities.
>
> I want all the activities in all the users, but only of type "excursion".
> I execute this query:
>
> SELECT userId, value.data FROM (
>     SELECT userId, expand(activities) FROM User
>     )
> WHERE value.type = 'excursion'
>
> But it returns only 1 row of the first user activity without userId column.
>
> I would like to obtain something like:
>
> userId, data
> 1, Buenos Aires
> 2, Paris
> 3, Monte Comán
>
> How could I query by all the activities or all the data of activities of
> type "excursion"?
>
> I am using OrientDb 2.1.15
>
> besides, I am getting a tip saying the subquery is returning more than
> 10000 rows (I have like 90000 rows in User class).
>
> I am open to refactor the model. What I need to is to have activities
> sorted as they are in the list and findable by user or by their selves.
>
> Pablo
>
>
> --
>
> ---
> 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.
>

-- 

--- 
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.

Reply via email to