Meteor 在我的应用程序中实现Algolia搜索时出错

Meteor 在我的应用程序中实现Algolia搜索时出错,meteor,algolia,Meteor,Algolia,在我的应用程序中实现时出错。 这是我的错误控制台: filters: Unexpected token \'(\' expected \')\' at col 81' } 我是新来的。有人能帮我纠正错误吗? 以下是我在algolia中显示的内容: objectID:asdfasfwersa1as54asdf _id: "asdfasfwersa1as54asdf" status: "OK" appId: "app_4s54f" nameId: "abc_test_(test_app)" nam

在我的应用程序中实现时出错。 这是我的错误控制台:

filters: Unexpected token \'(\' expected \')\' at col 81' }
我是新来的。有人能帮我纠正错误吗? 以下是我在algolia中显示的内容:

objectID:asdfasfwersa1as54asdf
_id: "asdfasfwersa1as54asdf"
status: "OK"
appId: "app_4s54f"
nameId: "abc_test_(test_app)"
name: "abc test(test app)"
我的问题是:

    FilterSearch= {
    filterQuery: function (customQuery, type) {
        var filters = "";
        if (type == "Website") {
            filters = "status:OK";
        }
        else if (!_.isEmpty(customQuery.nameId)) {
            if (filters != "")filters += " AND ";
            filters += "(nameId:" + customQuery.nameId.join(" OR nameId:") + ")";
        }
        return {filters: filters, searchKeyword: customQuery.searchKeyword};
    }
};

var searchCriteria=FilterSearch.filterQuery(condition,type);
index.search(searchCriteria.searchKeyword,{facets:facetName,filters:searchCriteria.filters},,Meteor.bindEnvironment(function searchDone(err, content) {
    console.log(searchCriteria.filters);
    if(err) {
        console.error('Algolia returned an error', err);
        future.return(err);
    }
    else {
        if(content.facets[facetName] != undefined) {
            Names.find({$and: [{_id: {$in: _.keys(content.facets[facetName])}}]})
        }

    }
}));

谢谢

似乎您需要在
nameId
值周围使用引号,因为它们包含解析器无法作为值的一部分处理的字符

filters += "(nameId:\"" + customQuery.nameId.join("\" OR nameId:\"") + "\")";

如果
nameId
字段可能包含双引号,则还需要将双引号转义。

您可以共享正在执行的查询吗?看起来您传递了一个格式错误的
filters
query参数。@我已更新了redox。