-1

我刚开始使用https://github.com/bevry/query-engine

我想知道如何在内部创建包含动态数据的查询。

这里有一个代码示例:

var query = "Berlin";
queryObject = '{"City":{$contains: "'+query+'"}}';
queryCollection.query(queryObject);

//TypeError: Object.keys called on non-object

queryObject = {"City":{$contains: "Berlin"}} ; 
queryCollectionquery.(queryObject);
//working as expected

有任何想法吗?

dfsq 是对的

编辑:这可以扩展到对象属性:

query = 'Berlin', 
filter = 'City', 
queryObject = {filter: {$contains: query}};
4

2 回答 2

0

Wellqueryobject必须是一个对象,而不是字符串。尝试这个:

var query = "Berlin",
queryObject = {City: {$contains: query}};

注意:对象键周围的引号通常不是必需的

于 2013-03-22T16:17:42.923 回答
0

我想这就是你要找的。由于您想使用变量设置键,因此您需要使用括号表示法;如果您使用点表示法,过滤器将设置为“过滤器”,而不是存储在变量中的字符串。

var filter = 'City';
var query  = 'Berlin';

var queryObject = {};
queryObject[filter] = {$contains: query};
于 2013-06-18T15:29:55.763 回答