首页 > 解决方案 > ArangoDB:使用对象作为过滤器并使用 aql builder 构建 AQL

问题描述

我有一个像这样的对象

{
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))然后没关系,但过滤器现在只过滤字符串类型值。

如何使用过滤器对象中的确切值类型构建过滤查询?

标签: query-builderarangodbfoxx

解决方案


上帝,我在发布后 3 秒就解决了这个问题。我所要做的就是做任何这样的转换

qb.eq(key,qb(value))

其余的由 arango 完成。


推荐阅读