2010-07-31 4 views
5

यहां स्टोर में एक दस्तावेज़ है:RavenDB। आंतरिक संग्रह से केवल 5 आइटम के साथ दस्तावेज़ कैसे लोड करें?

{ 
    "Name": "Hibernating Rhinos", 
    "Employees": [ 
     { "Name": "Ayende" }, 
     { "Name": "John" }, 
     { "Name": "Bob" }, 
     { "Name": "Tom" }, 
     { "Name": "Lane" }, 
     { "Name": "Bill" }, 
     { "Name": "Tad" } 
    ] 
} 

कर्मचारी संग्रह के साथ या बिना इस दस्तावेज़ को लोड करना आसान है, लेकिन आंतरिक संग्रह का केवल एक हिस्सा कैसे लोड करें? उदाहरण के लिए, पहले 5 आइटम:

{ 
    "Name": "Hibernating Rhinos", 
    "Employees": [ 
     { "Name": "Ayende" }, 
     { "Name": "John" }, 
     { "Name": "Bob" }, 
     { "Name": "Tom" }, 
     { "Name": "Lane" } 
    ] 
} 

उत्तर

6

सीधे नहीं, नहीं।

 
from company in docs.Companies 
from emp in company.Employees 
select new { Compnany = company.Name, Employee = emp } 

फिर आप पहले पांच कर्मचारियों

0

आप RavenDB की लाइव अनुमान सुविधा का उपयोग कर सकते हैं के लिए सूचकांक क्वेरी कर सकते हैं:

आप क्या कर सकते निम्नलिखित सूचकांक को परिभाषित है। इस क्वेरी को अपने सूचकांक के TransformResults फ़ंक्शन में रखें: मुझे लगता है कि आपका दस्तावेज़ नाम कंपनी है।

TransformResults = (database, companies) => from c in companies 
             select new {Company=c,Employees=c.Employees.Take(5)}; 
संबंधित मुद्दे