【仅供内部供应商使用,不提供对外解答和培训】
...
| Code Block |
|---|
package com.fr.plugin.db.mongo.expand;
import com.fr.stable.fun.mark.Mutable;
import org.bson.Document;
import java.util.List;
public interface ColumnResolver extends Mutable {
String MARK_STRING = "ColumnResolver";
int CURRENT_LEVEL = 1;
/**
* 是否需要处理该类型的元素
*
* @param cell doc查询出来的对象
* @return 需要做扩展处理则返回true,否则返回false
*/
boolean accept(Object cell);
/**
* 扩展特殊列,增加新的行
*
* @param doc MongoDB的文档查询对象
* @param columnNames 列民集合
* @param waitingColumnsIndex 需要特殊处理的列集合
* @param rowDataCollections 扩展出来的行数据集合
* @param rowData 当前行数据
*/
void expandData(Document doc, List<String> columnNames, List<Integer> waitingColumnsIndex, List<List<Object>> rowDataCollections, List<Object> rowData);
} |
我们以数组元素为例子,面对这样的数据结构:
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"name" : "李四",
"age" : NumberInt(15),
"language" : [
"英语",
"数学",
"物理",
"化学"
],
"region" : [
"新疆",
"海南",
"台湾"
],
"country" : "US"
} |