[英]How do I loop over a list which consists of multiple objects and adding their properties in a seperate list?
[英]How to create an index over an property which is a list of objects in OrientDB?
我想要一個存儲這樣的結構的類:
{
name: "blabla",
metaData: [ {a: "mya"}, { a:"mya2"} ]
}
`
現在,我想在metaData [?]上建立一個索引 。 一個領域。
請注意,我正在使用Node.JS Oriento庫。
我不知道您想要的索引是否可行,但是如果您按照第4點的說明進行操作,則可以定義一個索引(我將其定義為unique ,但其他索引也可以使用)。
你可以:
create class Test
create property Test.name string
create property Test.metaData embeddedlist string
insert into Test set name = 'blabla', metaData = ['mya', 'mya2']
CREATE INDEX Test.metaData UNIQUE
insert into Test set metaData = ['mya', 'mya2'] # this will throw an exception
您在第3點中詢問的查詢可能類似於:
select from Test where 'mya' in metaData
UPDATE
您還可以索引一個嵌入式地圖。 (請參閱此處 )
create property Test.metaDataTwo embeddedmap string
create index myIndex on Test (metaDataTwo by value) unique
insert into Test set name = 'blabla', metaDataTwo = {'prop1':'value1', 'prop2':'value2'}
insert into Test set metaDataTwo = {'prop3':'value1'} # this will throw an exception
使用該索引的查詢應為:
select from Test where ( metaDataTwo containskey 'prop1' ) and ( metaDataTwo['prop1'] = 'value1' )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.