对嵌套对象集合的Azure mongodb查询未按预期工作

对嵌套对象集合的Azure mongodb查询未按预期工作,mongodb,azure-cosmosdb,Mongodb,Azure Cosmosdb,我正在使用CosmosDB(mongodb)来存储我的数据 我收集了以下文件 [ { "title":"Bucket1", "elementsUsed" : [ {"elementType" : 1, "count" : 1}, {"elementType" : 5, "count" : 2}, ] }, { "title":"Bucket2",

我正在使用CosmosDB(mongodb)来存储我的数据

我收集了以下文件

[
    {
        "title":"Bucket1",
        "elementsUsed" : [
            {"elementType" : 1, "count" : 1},
            {"elementType" : 5, "count" : 2},
        ]
    },
    {
        "title":"Bucket2",
        "elementsUsed" : [
            {"elementType" : 1, "count" : 1}
        ]
    }
]
当我想查找具有所有指定元素类型的bucket时,下面的查询在本地安装的mongodb实例上非常有效

Bucket.find({"elementsUsed.elementType": {"$all": [1,5]}})
它正确返回Bucket1

但当我在CosmosDB上执行相同的查询时,它返回的结果为零。这是CosmosDB的已知限制吗


我搜索了有关CosmosDB限制的信息,但没有找到文档。

我执行与您相同的操作,也找不到任何数据。然而,根据官方消息,cosmos db mongo api应该支持
$all
操作符

我对它进行了测试,效果良好

源文档:

运行命令:

db.families.find(
    { "Location": { $all: [-121.758, 46.87] } }
)

根据我的测试和经验,Cosmos DB mongo API并不支持所有mongo功能。我假设
$all
opeartor没有在Cosmos DB mongo API中完全实现。此外,您可以在此处添加您的注释,以要求提供更多声明


希望对您有所帮助。

您是否尝试过使用“$和”替换
$all
。另外:您确定您的dbs包含相同的值吗?我尝试了$,但刚才它不起作用。我已确保我的收藏有匹配的文档。$all适用于字符串、数字数组。它不适用于对象数组。我的模式中也有一个字符串数组$所有关于它的查询都很好。让我试试反馈通道。谢谢@PrashantAmbardekar是的,和你的情况一样。等待你的进展。只是更新一下,我还没有收到azure人员的消息。我已经着手解决了这个问题,添加了相同集合的简化版本(数字数组),只是为了查询。@PrashantAmbardekar好的,如果你不介意的话,你可以标记答案,暂时结束这个案例。