我正在使用orientdb
,NodeJS
,Express
和AngularJS
处理申请。我是这些技术的新手。我在NodeJs端编写一个select查询,它从OrientDB返回数据,然后使用AngularJS在前端显示。但是,当我在主页上的搜索关键字文本框中输入值时,我希望只返回部分数据。
我正在关注此问题link以获取OrientDb查询并尝试此操作:
var key = "trade"
db.query('select from table where value like "%:searchkey%"', {
params: {
searchkey : key
}
}).then(function (results) {
stringresult = results;
res.json({"value":stringresult});
});
但上面的代码并没有返回任何结果。我尝试使用查询,删除searchkey
中的引号等,但这也没有帮助。此查询在OriendDb控制台中完全正常,如下所示:
select from table where value like "%trade%"
错误可能是由于我使用的单引号或双引号或params但我不确定。我已经到处寻找解决此问题但找不到的问题。
答案 0 :(得分:1)
是的,我认为问题在于你没有正确地使用通配符。它们需要添加到密钥中,而不是查询。
var key = "trade"
db.query('select from table where value like :searchkey', {
params: {
searchkey : "%" + key + "%"
}
}).then(function (results) {
stringresult = results;
res.json({"value":stringresult});
});