OrientDB/PhpOrient 从具有优势的用户那里获取用户
OrientDB/PhpOrient get users from a user with edge
目前我的架构中有 3 个 类; User
、Thread
和 IsMember
。
线程可以有一个名为 IsMember 的用户边缘,这意味着它们属于该线程(聊天应用程序)。
我想要一个用户所属的所有线程。这可以通过使用以下查询轻松完成:
select EXPAND(IN('IsMember')) from <@rid> limit -1
然而,这会导致数组中的线程引用 OUT_IsMember
偏移量中的 IsMember 边。相反,我想将 User
对象插入到 Thread
对象中。像这样:
[
{
class: "Thread",
users: [
{
class: "User"
},
{
class: "User"
}
]
}
]
因为有很多记录使用像这样的遍历;
traverse OUT('IsMember') from (select EXPAND(IN('IsMember')) from <@rid>)
根本不会削减它,因为我必须循环遍历 Threads/Users 来映射它们,这会花费太长时间。
因为我在 PHP 中写作,所以我正在使用官方驱动程序 https://github.com/Ostico/PhpOrient 和这个驱动程序 Bag 保持为空,所以下面的查询也不会工作;
select EXPAND(IN('IsMember')) from 12:589 fetchplan out_IsMember:2
如果要提取连接到线程的用户,线程连接到给定用户,可以使用
SELECT expand(IN('IsMember').out("IsMember")) FROM <@rid>
目前我的架构中有 3 个 类; User
、Thread
和 IsMember
。
线程可以有一个名为 IsMember 的用户边缘,这意味着它们属于该线程(聊天应用程序)。
我想要一个用户所属的所有线程。这可以通过使用以下查询轻松完成:
select EXPAND(IN('IsMember')) from <@rid> limit -1
然而,这会导致数组中的线程引用 OUT_IsMember
偏移量中的 IsMember 边。相反,我想将 User
对象插入到 Thread
对象中。像这样:
[
{
class: "Thread",
users: [
{
class: "User"
},
{
class: "User"
}
]
}
]
因为有很多记录使用像这样的遍历;
traverse OUT('IsMember') from (select EXPAND(IN('IsMember')) from <@rid>)
根本不会削减它,因为我必须循环遍历 Threads/Users 来映射它们,这会花费太长时间。
因为我在 PHP 中写作,所以我正在使用官方驱动程序 https://github.com/Ostico/PhpOrient 和这个驱动程序 Bag 保持为空,所以下面的查询也不会工作;
select EXPAND(IN('IsMember')) from 12:589 fetchplan out_IsMember:2
如果要提取连接到线程的用户,线程连接到给定用户,可以使用
SELECT expand(IN('IsMember').out("IsMember")) FROM <@rid>