如果我有这样的文件:
[
{
"model": "iPhone",
"brand": "Apple"
},
{
"model": "Nexus 5",
"brand": "Google"
}
]
我创建的查询只返回查询中的model
字段,如下所示:
{
"fields": ["model"],
"query": {
"term": {
"brand": "apple"
}
}
}
然后在这样的数组中返回每个文档字段:
{ "model": ["iPhone"] }
而不是
{ "model": "iPhone" }
如何避免这种情况并使用与未定义fields
查询选项时相同的格式获取字段?
答案 0 :(得分:19)
最后答案非常简单:您必须使用_source
的{{1}}查询选项。
示例:
fields
这样我就可以使用以下格式获取文档,例如原始文档(没有{
"_source": ["model"],
"query": {
"term": {
"brand": "apple"
}
}
}
选项):
_source
答案 1 :(得分:0)
我遇到了同样的问题,而且(正如Wax Cage所说)我认为_source
会带来一些表演问题。我认为同时使用fields
和_source
可以解决问题:
const fields = ['model']
{
fields: fields,
_source: fields
query: {
term: {
brand: 'apple'
}
}
}