ArangoDB: использование объектов в качестве фильтра и сборка AQL с помощью aql builder - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть такой объект

{
prop1: true,
prop2: "string",
prop3: number
}

Я передаю этот объект Foxx, чтобы использовать его свойства в качестве фильтров для запроса arango.Я использую конструктор запросов, как указано ниже:

var qb = require('aqb');
var querybuilder=qb.for("doc").in(docCollection);
//Loop through the object property
 for(var property in object){
 if (object.hasOwnProperty(property)){

   var value= object[property];
   var key="doc."+property;
 querybuilder=querybuilder.filter(qb.eq(key,value));
 }
}

Но этот не будет работать, потому что qb.eq(key,value) не принят qb.eq(key,qb.str(value)), тогда все в порядке, но фильтр теперь фильтрует только по значению строкового типа.

Как построить запрос, который фильтрует, используя точный тип значения в объекте фильтра?

1 Ответ

0 голосов
/ 18 сентября 2018

Боже, я решил это буквально через 3 секунды после публикации. Все, что мне нужно сделать, это сделать любое преобразование, как это

qb.eq(key,qb(value))

Аранго делает все остальное.

...