如何根据布尔字段对查询结果进行排序?
考虑以下集合:
{ "_id" : ObjectId("..."), "name" : "John" , "isFoo" : true}
{ "_id" : ObjectId("..."), "name" : "Jim" , "isFoo" : false}
{ "_id" : ObjectId("..."), "name" : "Joel" , "isFoo" : false}
{ "_id" : ObjectId("..."), "name" : "Jill" , "isFoo" : true}
{ "_id" : ObjectId("..."), "name" : "Samantha" , "isFoo" : true}
我需要一个查询,可以先返回 isFoo == true
的文档,然后再返回 isFoo == false
的文档。换句话说,我需要按照布尔字段进行排序。
以下代码并没有起到作用,因为我仍然得到一些混合了真假的文档。
db["users"].find().sort( { isFoo: 1 } )
有什么想法吗?
sort({isFoo:1})
返回错误的文档,sort({isFoo:-1})
返回正确的文档。 - Anand Jayabalan