更新
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中是一样的。
任何帮助,将不胜感激。
谢谢!
更新:
这是显示问题的实际查询的屏幕截图。
最佳答案
没有具体保证 CosmoDB 支持 MongoDB 的所有运算符和函数,尤其是 API 的非平凡使用(如链接 sort
、 skip
等)。这也扩展到索引优化和选择。
关于MongoDB 数组排序在 CosmoDB 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47184602/