问题描述
我们正在为一个 POC 项目试验 OrientDB。 我们想要实现一个简单的搜索服务器端功能。
计划是接收一个字符串数组作为输入参数,传递给查询并返回结果(防止sql注入)
var ids = (idsInput) ? JSON.parse(idsInput) : null; // ids will be an array of string like ["#75:0"]
var g = orient.getDatabase();
var sql = "select * from Article where in() CONTAINS ?";
return g.query(sql,ids);
主要思想是获取链接到所有(不是任何)提供的 id(在参数中)的所有文档(文章类型)。
问题是 CONTAINS 不适用于字符串数组。
select * from Article where in() CONTAINS [#75:0] // works
select * from Article where in() CONTAINS ["#75:0"] // dose not work !
我们看到它的方式有两个选择:
- 将 id 转换为 ORecordId 数组
- 更改查询,以便将“in()”部分转换为字符串数组
我们无法以任何方式做到这一点。
非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)