首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >documentDB中的子字符串搜索

documentDB中的子字符串搜索
EN

Stack Overflow用户
提问于 2015-01-02 10:05:59
回答 2查看 4.1K关注 0票数 5

这是示例documentDB文档,

我想得到在一个或多个科目上失败的所有文件。

我发现了一些东西

代码语言:javascript
复制
SELECT 
    *
FROM students s 
JOIN c IN s.subjects 
WHERE c.result = "pass"

我想通过使用c#代码检索

代码语言:javascript
复制
{
  "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"
}

我试过像这样

代码语言:javascript
复制
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或pa或者pass,或者p或者ass,或者作为那样,我也应该得到一些我需要的功能,比如在SQL中。

有什么解决办法吗??我需要在SQL中使用类似的功能从documentDB检索数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-05 18:32:53

STARTSWITH**,更新:截至 5/6/15,DocumentDB添加了一组字符串函数,包括 ** ENDSWITH**,和** CONTAINS**.请注意,大多数这些函数不会在索引上运行,而是会强制进行扫描。**

像SQL的%这样的通配符还没有在DocumentDB中实现。

请在DocumentDB's feedback forum上发表您的意见并投票支持此功能。

票数 8
EN

Stack Overflow用户

发布于 2015-08-27 07:37:52

在过去几个月中,引入了一些新的功能。对于你的特殊情况,我认为你可以用:

代码语言:javascript
复制
WHERE STARTSWITH(c.result, "p")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27740398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档