数据类型-object对象数据类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型-object对象数据类型相关的知识,希望对你有一定的参考价值。
参考技术A 特点:由多组键值对组成,由多组[属性名和属性值]组成属性名和属性值是用来描述这个对象特征的比如:var obj=name:’张三’,age:18
创建对象有2种方式:
1、字面量创建方式 var obj=
2、实例创建方式 var obj=new Object();
1>给对象添加属性名和属性值 obj.name=’张三’ 或者 obj[“name”]=’张三’
2>修改对象的属性名和属性值 obj[“name”]=’李四’
3>获取属性名和属性值 console.log(obj[“name”]) 或者 console.log(obj.name) 如果属性民不存在默认返回undefined
4>删除属性名和属性值 obj.name=null//假删除 delete obj.name//真删除
对象数据类型中的object对象数据类型,还可以细分:对象类(Object)、数组类(Array)、正则类(RegExp)、时间类(Date)、Math数学函数等等对应的实例对象、数组、正则、时间等等
Js对象、类、实例的区别:对象是泛指,js中万物皆对象,类是对象的组成部分,实例是类中的一个具体的事物
Elasticsearch object nested join 数据类型
参考技术A 在设计索引mapping时,在某些业务下,需要设计的对象中包含对象,俗称内部对象,此时就可以使用Object类型来存储对象.以下定义了店铺对象,包含店铺名称、店铺编码、供应商信息,另外供应商信息中又包含供应商编码、供应商名称。同时供应商信息还包含自身的对象属性所在区域,所在区域又包含省和市,这种定义才能满足查询店铺信息、查询供应商所有店铺信息,以及查询某地区的所有店铺信息等等场景。
2家供应商
南京农村电商领导者 店铺:苹果热销店铺+美的热销店铺
山东农村电商领导者 店铺:金沙酒热销店铺+华为热销店铺
查询供应商001对应的所有店铺:
Join 类型是一种特殊的类型,类似父子结构,一个子文档只能由一个父文档,一个父文档可以有多个子文档。
nested 是 object 的专用版本,允许对象数组以可以彼此独立查询的方式进行索引。
ES 中其实是没有内部对象的概念,因此它将对象层次结构简化为字段名称和值,以列表的形式展现。
首先来比较 nester 与 parent/child 以及 Object 的区别
以 B2B 电商行业的实际业务场景来举例说明,2B 行业的交易具有一定封闭性,只有签署合同、经常往来交易的会员往往有更高资格的交易权、议价权。
定义商品索引,其中 groupPrice 标识分组价对象,对象里面包含了 boxLevelPrice 分组价格、level 分组级别,当前端业务线搜索时,传入用户所在组级别,即可查询对应的价格。为了便于区分我们先定义为 Object 类型来观察下现象:
显然返回的数据不是我们期望的,这是因为 ES 中将 Object 数组打平了做存储导致
返回的是我们期望的,说明 nested 查询生效,解决了嵌套查询的问题
以上是关于数据类型-object对象数据类型的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch object nested join 数据类型