Cosmos DB:MongoDBsorting查询返回空白结果集

我正在使用Mongoose.js 4.11.6 Node.js 6.0。

我有一个用户文件,看起来像波纹pipe –

var UserSchema = new Schema({ name: { type: String, default: '' }, email: { type: String, default: '' }, phone: { type: String, default: '' }, hashed_password: { type: String, default: '' }, role: { type: String, default: '' }, created_at: { type: Date, default: Date.now } }); 

我正在运行下面的mongoose查询 –

UserSchema.find({role:options.role}).select(options.select).sort({'email':-1}).exec(cb);

理想情况下,这应该返回与电子邮件IDsorting的用户匹配的列表。 该查询与我们在AWS部署中所期望的完全一致。 但在宇宙数据库MongoDB托pipe它是返回空结果集。 但是,当.sort({'email':-1})被删除时,查询返回结果(但不是以所需的顺序)。

正如在一个单独的线程讨论,这确实工作。 下面是完整的示例代码,显示按照预期通过Mongoose与CosmosDB和Mongo API进行的sorting工作。

https://gist.github.com/m-gagne/00893a32a0e4c7f593a1676ba1380e63

 var mongoose = require('mongoose'); mongoose.connect('<COSMOS DB CONNECTION STRING>'); var Schema = mongoose.Schema; var userSchema = new Schema({ email: { type: String, default: '' }, }); var User = mongoose.model('User', userSchema, "users"); User.find({}).select(['email']).sort({ 'email': -1 }).exec(function(err, results) { if(err) { console.log("!!! ERROR !!!"); console.log(err); return; } console.log(results); });