Collections 删除ATL ATLAS转换语言中每个集合的重复项
我有一组包含字段的文档(NoSql文档),每个字段包含一个键,如下面的元模型所示: 我的问题:如何从所有文档中仅获取uniques密钥,我使用以下代码尝试了一个助手:Collections 删除ATL ATLAS转换语言中每个集合的重复项,collections,duplicates,eclipse-emf,metamodel,Collections,Duplicates,Eclipse Emf,Metamodel,我有一组包含字段的文档(NoSql文档),每个字段包含一个键,如下面的元模型所示: 我的问题:如何从所有文档中仅获取uniques密钥,我使用以下代码尝试了一个助手: helper context MDB_metamodel!collection def: MongoToSql1(): String='\n------------------------------------ \n -- ********* Creation of table '+self.name+ ' **'+'\n\n
helper context MDB_metamodel!collection def: MongoToSql1():
String='\n------------------------------------ \n -- ********* Creation of table '+self.name+ ' **'+'\n\n'+
'CREATE TABLE `' + self.name + '` ( \n'
+self.document->asSequence()->
iterate(d;acc:String=''|acc+ if acc='' then acc+d.field.asSet()->
collect(f|f.key.MongoToSql12()) else ', \n' + if d.field.asSet()->
collect(f|f.key.MongoToSql12()) <> acc then d.field.asSet()->
collect(f|f.key.MongoToSql12()) else '' endif endif)
;
helper上下文MDB_元模型!集合定义:MongoToSql1():
字符串='\n------------------------------------\n-->*******创建表'+self.name+'**'++'\n\n'+
“创建表”`+self.name+`(\n”
+self.document->asSequence()->
迭代(d;acc:String=''| acc+如果acc='',则acc+d.field.asSet()->
collect(f | f.key.MongoToSql12())else',\n'+如果d.field.asSet()->
收集(f | f.key.MongoToSql12())acc然后收集d.field.asSet()->
collect(f | f.key.MongoToSql12())else“”endif endif)
;