es添加字段但不保存数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es添加字段但不保存数据相关的知识,希望对你有一定的参考价值。
参考技术A Elasticsearch 是schema-less的数据存储方案。可以任意的向索引中添加字段。在此需明确以下背景:ES新添加的字段只对新数据、新type起作用;原有已经索引的数据不会生效;
为加快ES的检索和索引效率,构建索引时会指定其mapping结构;添加索引字段即修改mapping;
目前我们采用两种索引方案:
指定动态模板,每天生成新索引;
单索引多type:指定_default_mapping, 其每天的type主动继承mapping定义。
输入类型='颜色'字段保存为数据库中的数组但不填充输入类型='颜色''值属性'
【中文标题】输入类型=\'颜色\'字段保存为数据库中的数组但不填充输入类型=\'颜色\'\'值属性\'【英文标题】:input type='color' fields saving as an array in database but not populating input type ='color' 'value attribute'输入类型='颜色'字段保存为数据库中的数组但不填充输入类型='颜色''值属性' 【发布时间】:2021-06-11 02:10:07 【问题描述】:input type='color' 字段保存为数据库中的数组但不填充 input type ='color' 'value attribute'
我正在尝试这个,但没有工作。
label(for='firstColor') Color 1
input#firstColor(type='color' name='colors' value = colors)
label(for='secondColor') Color 2
input#secondColor(type='color' name='colors' value = colors)
label(for='thirdColor') Color 3
input#thirdColor(type='color' name='colors' value = colors)
我正在从数据库接收这些数据:
colors: Array(3)
0: "#f50000"
1: "#000000"
2: "#000000"
并使用此代码进行填充:
$.each(results, function (i,v)
form.find('[name="'+i+'"]').val(v);
)
但没有成功填充输入颜色值。
PS:多个复选框,多个选择选项使用上述相同设置工作正常。
终于通过更新代码解决了:
var form = $('#registerForm');
$.each(results, function (i,v)
if(i == 'colors')
$.each(results.colors, function (a,b)
$('[name="colors['+a+']"]').val(b);
)
else
form.find('[name="'+i+'"]').val(v);
)
我仍然想知道它是如何工作的,而无需更新多个复选框和多个选择上的代码,但不更新多个颜色输入上的代码?
【问题讨论】:
如果你愿意,我可以分享完整的过程,但我只是在寻找逻辑 【参考方案1】:如果它用于 HTML 页面,将 #RRGGBB 标记存储为字符串可能就足够了。
如果它用于 .NET,它支持从其 ARGB 值构建颜色
System.Drawing.Color c = System.Drawing.Color.FromArgb(int);
int x = c.ToArgb();
所以你可以只存储那个 int。
【讨论】:
我正在使用 HTML,但它不适合我。我已经更新了我上面的问题,请检查。 @marmik以上是关于es添加字段但不保存数据的主要内容,如果未能解决你的问题,请参考以下文章
输入类型='颜色'字段保存为数据库中的数组但不填充输入类型='颜色''值属性'