2015-01-02 28 views
5

這是樣品documentDB文件,搜索的字符串在documentDB

我想所有誰在一個或多個科目

我發現像

SELECT 
    * 
FROM students s 
JOIN c IN s.subjects 
WHERE c.result = "pass" 

我想失敗的文件通過使用C#代碼檢索

{ 
    "id": "0066a253-f042-4213-b06e-65b1ea1e49aa", 
    "name": "Sunny", 
    "rollNo": 123, 
    "class": "2nd", 
    "section": "B", 
    "Department": { 
    "name": "CSE", 
    "id": "cse", 
    "subjects": [ 
     { 
     "id": "subject-1", 
     "marksObtained": 66, 
     "maxMarks": 100, 
     "result": "pass" 
     }, 
     { 
     "id": "subject-2", 
     "marksObtained": 56, 
     "maxMarks": 75, 
     "result": "pass" 
     }, 
     { 
     "id": "subject-3", 
     "marksObtained": 22, 
     "maxMarks": 100, 
     "result": "fail" 
     }, 
     { 
     "id": "subject-4", 
     "marksObtained": 36, 
     "maxMarks": 50, 
     "result": "pass" 
     }, 
     { 
     "id": "subject-5", 
     "marksObtained": 16, 
     "maxMarks": 100, 
     "result": "fail" 
     } 
    ] 
    }, 
    "Type": "Student" 
} 

我試過像這樣

var result = client.CreateDocumentQuery<dynamic>(dc.SelfLink, "SELECT s.id as id,s.Name as Name,s.Age as Age,s.section as section,s.subjects as subjects FROM students s JOIN c IN s.subjects WHERE c.result = \"pass\"").ToList(); 

List<Student> students = new List<Student>(); 
foreach(var std in result) 
{ 
    students.Add((Student)std); 
} 

喜歡的東西上面是我的代碼我得到,但即使我給PA或PAS或傳或P或屁股或再還我應該得到的東西我需要像在SQL

一個功能有沒有解決方案? 我需要像SQL功能從documentDB

+1

你的努力在哪裏? – mybirthname

+0

from client.CreateDocumentQuery (dc.SelfLink) 其中f.subjects [0] .result ==「pass」 select f; –

+0

var result = client.CreateDocumentQuery (dc.SelfLink,「SELECT s.id as id,s.Name as Name,s.Age as Age,s.section as section,s.subjects as subject FROM students s JOIN c IN s.subjects WHERE c.result = \「pass \」「)。ToList(); 列表學生=新列表(); foreach(var std in result) { students.Add((Student)std); } 上面的東西是我的代碼 我越來越,但即使我給pa或pas或通過或p或屁股或因爲那麼我也應該得到 東西我需要SQL中的LIKE功能 –

回答

8

更新檢索數據:截至5/6/15,DocumentDB添加了一組字符串函數,包括STARTSWITHENDSWITH,並CONTAINS。請注意,大多數這些函數不會在索引上運行,並會強制執行掃描。

像SQL的LIKE'%%'這樣的通配符尚未在DocumentDB 中執行但尚未實現

請發表您的意見並通過登錄登錄DocumentDB's feedback forum投票支持。

+2

如果它包含一個示例,這將是一個很好的答案。 –

5

在過去的幾個月中已經引入了一些新功能。對於你的具體情況,我認爲你可以使用:

WHERE STARTSWITH(c.result, "p") 
+0

我可以使用包含嗎?請分享鏈接有關此更新 –

+0

SELECT food.id, \t food.description, \t food.tags, \t food.foodGroup 食品,其中startswith(food.id, 「03」);不管用。任何想法? –