gpt4 book ai didi

javascript - 使用 ElasticSearch 在变量定义的字段上搜索

转载 作者:搜寻专家 更新时间:2023-11-01 00:25:51 26 4
gpt4 key购买 nike

相关代码如下:

var field = String(querystring.parse(postData).field).toLowerCase();
var qryObj = {
"fields" : view_options,
"query":{
"term" : { field : value}
}
};

变量“field”将是一个字符串,如“number”、“date”等。我想做的是仅在变量“field”中定义的字段中搜索索引。如果我对字符串进行硬编码,则此代码有效,如下所示:

"term" : { "number" : value} 

那么有人可以阐明使用预定义变量而不是字符串仅搜索特定字段的方法吗?

最佳答案

您不能将变量用作 Object literal 中的键.在每个 : 的左侧,标识符本身成为键的名称,而不是作为其值的变量进行评估。

console.log({ key: "value" });   // { key: 'value' }
console.log({ "key": "value" }); // { key: 'value' }

您必须首先使用 bracket member operators 构建对象 ,然后将其应用于查询对象:

var term = {};
term[field] = value;

var qryObj = {
fields: view_options,
query: {
term: term
}
};

更新:

使用 ECMAScript 6,Object literals do now support computed keys对键使用括号表示法:

var qryObj = {
fields: view_options,
query: {
term: {
[field]: value
}
}
};

关于javascript - 使用 ElasticSearch 在变量定义的字段上搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17913204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com