"Adam"}, {"family_name-6ren">
gpt4 book ai didi

ruby-on-rails - 使用 Ruby Driver 在 Rethinkdb Real 中创建一个复杂的查询

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:15 25 4
gpt4 key购买 nike

我正在为 rethink db 使用 ruby​​ 驱动程序,我遇到了一些带有数组的嵌套元素的问题。

我的数据结构如下

[{"family_name"=>"Adam"},
{"family_name"=>"Bobby"},
{"family_name"=>"Crissy",
"groups"=>
[{"logo_url"=>"https://www.logourl.com/1111.png",
"name"=>"Sample Name 1",
"profile_url"=>"https://www.profileurl.com/groups?gid=1111"},
{"logo_url"=>"https://www.logourl.com/2222.png",
"name"=>"Sample Name 2",
"profile_url"=>"https://www.profileurl.com/groups?gid=2222"},
{"logo_url"=>"https://www.logourl.com/3333.png",
"name"=>"Sample Name 3",
"profile_url"=>"https://www.profileurl.com/groups?gid=3333"},
]},
{"family_name"=>"Bobby"},
{"family_name"=>"Hillton",
"groups"=>
[{"logo_url"=>"https://www.logourl.com/4444.png",
"name"=>"Sample Name 1",
"profile_url"=>"https://www.profileurl.com/groups?gid=4444"},
{"logo_url"=>"https://www.logourl.com/5555.png",
"name"=>"Sample Name 2",
"profile_url"=>"https://www.profileurl.com/groups?gid=55555"},
{"logo_url"=>"https://www.logourl.com/6666.png",
"name"=>"Sample Name 3",
"profile_url"=>"https://www.profileurl.com/groups?gid=12345"},
]}]

期望的结果是返回具有以“12345”结尾的“profile_url”链接的行。混合使用 Ruby 和 Javascript,我尝试了这个:

'r.table("profiles").filter{ |row| row['groups'].contains(r.js('function(group) { return group('profile_url').match("12345$") }'))}.run(conn)'

但是,它仍然没有返回结果,有没有明确的方法将它与 ruby​​ 驱动程序一起使用???

期望的结果是

[{"family_name"=>"Hillton",
"groups"=>
[{"logo_url"=>"https://www.logourl.com/4444.png",
"name"=>"Sample Name 1",
"profile_url"=>"https://www.profileurl.com/groups?gid=4444"},
{"logo_url"=>"https://www.logourl.com/5555.png",
"name"=>"Sample Name 2",
"profile_url"=>"https://www.profileurl.com/groups?gid=55555"},
{"logo_url"=>"https://www.logourl.com/6666.png",
"name"=>"Sample Name 3",
"profile_url"=>"https://www.profileurl.com/groups?gid=12345"},
]}]

请帮助并提前致谢!!! :D

最佳答案

我想这会做你想做的:

r.table('profiles').filter {|row|
row['groups'].contains {|group|
group['profile_url'].match('12345$')
}
}

关于ruby-on-rails - 使用 Ruby Driver 在 Rethinkdb Real 中创建一个复杂的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36782684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com