2015-11-28 3 views
0

Я работаю над приложением с orientdb, NodeJS, Express и AngularJS. Я новичок в этих технологиях. Я пишу запрос select на конце NodeJs, который возвращает данные из OrientDB, который затем отображается в frontend, используя AngularJS. Но я хочу вернуть только часть данных, когда я ввожу значение в текстовое поле ключа поиска на главной странице. Я после этой link для OrientDb запросов и пытаюсь это:orientdb как запрос с узлом js

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, но я не sure.I смотрел везде для решения к этой проблеме, но не смог ее найти.

+0

Что произойдет, если вы используете db.query ('выберите из таблицы, где значение «% trade%»'), затем ...? – wolf4ood

+0

@ wolf4ood Это отлично работает. Но я не могу его жестко закодировать, так как значение исходит от переднего конца. Проблема находится где-то в одиночных/двойных кавычках или синтаксисе params. – Samyukta

ответ

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}); 

}); 
+0

Это сработало. Благодарю. – Samyukta

Смежные вопросы