Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DocumentDB中是否可以像Sql Server中那样进行“Where In”查询?_C#_Azure Cosmosdb - Fatal编程技术网

C# 在DocumentDB中是否可以像Sql Server中那样进行“Where In”查询?

C# 在DocumentDB中是否可以像Sql Server中那样进行“Where In”查询?,c#,azure-cosmosdb,C#,Azure Cosmosdb,我有以下简单的Sql,其中我正在DocumentDB中尝试,但无法在查询资源管理器上运行: SELECT * FROM root.DocumentDbTest_AllFieldTypes f WHERE f.field1 NOT IN ( SELECT g.field1 FROM root.DocumentDbTest_AllFieldTypes g WHERE g.time

我有以下简单的Sql,其中我正在DocumentDB中尝试,但无法在查询资源管理器上运行:

SELECT * FROM root.DocumentDbTest_AllFieldTypes f
    WHERE f.field1 NOT IN (
                            SELECT g.field1 FROM root.DocumentDbTest_AllFieldTypes g 
                            WHERE g.time = "09:12:34"
                          );
我遇到以下错误:

有人能告诉我在查询中执行此操作的正确语法吗?

文档支持IN运算符IN WHERE子句;但它不支持子选择

换句话说。。。支持这一点:

选择food.id, 食品说明, 食品标签, food.foodGroup, 食品版 来自食物 家禽产品中的food.foodGroup, 香肠和午餐肉 这是不受支持的:

挑选* 来自root.DocumentDbTest\u所有字段类型f 其中f.field1不在 选择g.field1 来自root.DocumentDbTest\u AllFieldTypes g 其中g.time=09:12:34;
如果您想在DocumentDB中看到Subselect,请在上投票支持此功能,表达您的意见。

这是教程,也许它会帮助您在查询中需要in子句吗?您正在做的是关系联接。DocumentDB提供了一个IN运算符,但仅用于在您尝试在文档之间执行联接时对照值列表进行检查。这不是文档数据库的典型场景。事实上,联接运算符只支持文档内联接,即在同一文档内联接以提取子节点。@PanagiotisKanavos one!真实示例—我有一些表Developers、Managers和Mentors,它们被加入到第三个表DevManagers和DevMentors以及ManagerMentorControl中,它们的ID使用从经理/导师到开发人员/梅托的1对多进行控制。现在,为了通过安全逻辑查找某些受保护的表数据,我必须先检查经理是否有权访问开发人员,导师是否有权访问开发人员,然后再允许经理在第三个表上进行查找。由于业务原因,我不能将差异类型包含在其中。我希望DocDb是MS,所以它可能是:@PanagiotisKanavos,对不起,忘了添加点-devmanager和devmentor实际上是角色组,而不是个人用户。嘿@aliuy谢谢你的回复-我害怕这个答案。这个限制实际上使它很难实现!!然后在我们的业务场景中实现DocDB…:@Deb恰恰相反——事实上,文档或类似文档的数据库在商业中已经使用了几十年。想想SharePoint吧。这是一个不同的模型,需要不同的设计。有人可能会说,将订单表示为文档比单独的标题表和行表更容易