我发现自己编写了很多脚本来在类似的模式之间传输数据,特别是从MongoDB到Solr,我希望尽量减少重复。由于数据来自各种来源,因此没有一种可行的方法来标准化Mongo中的模式。我的很多行最终看起来像:
solr['field1'] = mongo['field1']
solr['field2'] = mongo['field2']
solr['field1'] = modify(mongo['field1'])
...
这种情况有什么样的设计理念吗?
答案 0 :(得分:1)
如何做这样的事情(这不是代码,只是一个例子):
function mongo2solr(unmodifiedFields, modifiedFields){
solr = new empty associative array
for every i in unmodifiedField:
solr[i] = mongo(i)
for every i in modifiedField:
solr[i] = modiry(mongo(i))
}
然后使用solr = mongo2solr(['field1', 'field2'], ['field3'])