MongoDB为sort函数返回错误"Can can canonicalize query"

wsc*_*wsc 5 javascript mongodb meteor

db.getCollection('posts').find({}, {sort: {post_id: 1}})
Run Code Online (Sandbox Code Playgroud)

正在回归

error: {
  "$err" : "Can't canonicalize query: BadValue Unsupported projection option: sort: { post_id: 1.0 }",
  "code" : 17287
}
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为我过去几乎都像这样运行查询.我正在通过Robomongo运行它,但它也不适用于我的Meteor应用程序.谁能解释一下发生了什么?

Aks*_*hat 15

在Meteor中,语法几乎与您使用的一样:

YourCollection.find({}, {sort: {post_id: 1}})
Run Code Online (Sandbox Code Playgroud)

使用MongoDB shell,格式如下:

db.posts.find({}).sort({post_id: 1})
Run Code Online (Sandbox Code Playgroud)

如果结果太多,您可能仍然会收到错误,您可以添加限制:

db.posts.find({}).sort({post_id: 1}).limit(20)
Run Code Online (Sandbox Code Playgroud)