2016-03-29 27 views
1

Orientdb'de yeniyim ve aşağıdaki gibi bir gömülü gömülü gömülü gömülü gömme kullanarak üç düzey derinliğe sahip bir belge yerleştirmenin mümkün olup olmadığını bilmek istiyorum. Verilerim gibi bazı örnekleri başarı ile aramadım. Örnek: buldumOrientDB'de gömülü tiplerin içerisine gömülü tipler INSERT

"p_partkey": 1, 
"p_name": "lace spring", 
"lineorder": [{ 
    "lo_revenue": 4282453, 
    "lo_orderdate": 19920603, 
    "customer": [{ 
     "c_nation": "JORDAN", 
     "c_address": "uZaxFV8o9IGgayUEWtPU1Xmw", 
     "c_mktsegment": "BUILDING|" 
    }], 
    "orderdate": [{ 
     "d_date": "June 3, 1992", 
     "d_datekey": 19920603, 
     "d_year": 1992 
    }]},{ 
    "lo_revenue": 46868767, 
    "lo_orderdate": 9987983, 
    "customer": [{ 
     "c_nation": "BRAZIL", 
     "c_address": "kjbnkjakjh", 
     "c_mktsegment": "BUILDING|" 
    }], 
    "orderdate": [{ 
     "d_date": "June 6, 1994", 
     "d_datekey": 19940606, 
     "d_year": 1994 
    }]}] 

Tüm örnekler gömülü belgelerin sadece bir seviye kullanır.

INSERT into part CONTENT {json data} 

Ama lineorder üzerinde sadece bir gömülü türünü oluşturur: kullanıyorum olmak ettik.

cevap

1

I

Bunları sorgu kullanın 3 (A, B, C) oluşturduk:

insert into A content { "embedded_B" : { "@type":"d", "@class":"B", "name" :"myRecord_B", "embedded_C" : { "@type":"d", "@class":"C", "name" :"myRecord_C" }}} 

enter image description here

select embedded_B.name as name,embedded_B.type() as type from A 

enter image description here

select embedded_B.embedded_C.name as name,embedded_B.embedded_C.type() as type from A 

enter image description here

Yardım edin.

+0

@Aleesandro Rota, eklerden önce mi yoksa yalnızca ekte mi oluşturdunuz? – Raphael

+0

@Raphael –

+0

no'lu uçtan önce A, B ve C sınıflarını oluşturdum. Bu yararlı olur. – Raphael