我想了解如何使用MongoDB执行此操作
我的文件名称为"file1","file2","file22","file11"(名称可以是任何内容,没有特定的模式)我运行查询以获取按名称排序的所有文档,结果不是预期.
> db.mydata.find().sort({"name":1});
{ "_id" : ObjectId("571e5a787e88d30b20b7857c"), "name" : "file1" }
{ "_id" : ObjectId("571e5a8c7e88d30b20b7857d"), "name" : "file11" }
{ "_id" : ObjectId("571e5a977e88d30b20b7857f"), "name" : "file2" }
{ "_id" : ObjectId("571e5a937e88d30b20b7857e"), "name" : "file22" }
Run Code Online (Sandbox Code Playgroud)
预期的是(字母/自然顺序)
{ "_id" : ObjectId("571e5a787e88d30b20b7857c"), "name" : "file1" }
{ "_id" : ObjectId("571e5a977e88d30b20b7857f"), "name" : "file2" }
{ "_id" : ObjectId("571e5a8c7e88d30b20b7857d"), "name" : "file11" }
{ "_id" : ObjectId("571e5a937e88d30b20b7857e"), "name" : "file22" }
Run Code Online (Sandbox Code Playgroud)
根据我的发现,还有其他方法可以使用aggregate+ $project和排序$meta: "textScore",但到目前为止我还没有成功.