更新

CosmoDB 团队确认他们所说的存在问题,他们已经在着手修复。

此处评论部分的更多信息:https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-introduction

原始问题

我们计划迁移到CosmoDB,但发现$ sort命令存在问题。
在我们当前运行此查询的 MongoDB 服务器中:

db.getCollection('Product').find({
"ProductTypeId" : ObjectId("5913546b1ba88338e4347641"),
"SubtypeIngredients" : "5949852c1ba88344d0facbf5"
})
.skip(0).sort({ "IngredientRanks.2.Rank" : 1 }).limit(1)

我们得到了一些结果,但是在 CosmoDB 中运行相同的查询时,我们没有得到任何结果。

如果我从查询中删除排序命令,我会从 CosmoDB 获得结果

集合中的数据在我们本地db和CosmoDB中是一样的。

任何帮助,将不胜感激。
谢谢!

更新:

这是显示问题的实际查询的屏幕截图。

MongoDB 数组排序在 CosmoDB 中不起作用-LMLPHP

最佳答案

没有具体保证 CosmoDB 支持 MongoDB 的所有运算符和函数,尤其是 API 的非平凡使用(如链接 sortskip 等)。这也扩展到索引优化和选择。

关于MongoDB 数组排序在 CosmoDB 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47184602/

10-09 17:40