如何在mongodbapi中不指定shard key进行查询,如何跨分区查询?

How do you perform queries without specifying shard key in mongodbapi and how do you query across partitions?

如何在mongodb api中不指定分片键进行查询,如何跨分区查询?

在 sql api 中,后者是通过在请求中将 EnableCrossPartitionQuery 设置为 true 来启用的,但我无法为 mongodb api。我在 unsharded 集合上的查询现在失败了(指定分片键的查询按预期工作)。

无论我使用 AsQueryable 扩展语法还是聚合框架,查询都会不加区别地失败。

据我所知,在 CosmosDB Mongo API 中没有类似于 EnableCrossPartitionQuery 的 属性。事实上,CosmosDB 是一个独立的服务器实现,并不直接与 MongoDB 服务器版本和功能保持一致。

CosmosDB 支持 MongoDB API 的一个子集,并将请求转换为 CosmosDB SQL 等效项。 CosmosDB 有一些不同的行为和结果,特别是与 MongoDB 的分片相比,它们的分区实现。但是 CosmosDB 有责任改进他们对 MongoDB 的模拟。

当然,如果您想要完整的 MongoDB 功能支持,您可以在 Azure 上添加反馈 here to get official assistance or consider using MongoDB Atlas

希望对你有帮助。

已被产品组团队确认为错误!将在 9 月的前两周修复,以防有人同时遇到相同的问题。