【发布时间】:2021-09-04 23:55:26
【问题描述】:
我有一个 userModel,它有大约 5 个字段,当我 find({}) 他们时,我想按升序或降序对它们进行排序。我从文档中读到的所有内容都表明这应该可以工作,但它不起作用。
此查询只为第一个值返回正确的顺序,例如firstName,并为其余的返回未排序的结果。这些是我尝试实现的不同排序技术,它们都返回相同的结果。如果我尝试翻转到 Descending 顺序,则会发生完全相同的行为。
UserModel.find({}).sort({firstName: 'asc', lastName:'asc' ,email:'asc',createdAt:'asc', updatedAt:'asc' })
UserModel.find({}).sort({firstName: 1, lastName:1 ,email:1, createdAt:1 , updatedAt: 1 })
UserModel.find({}).sort("firstName lastName email createdAt updatedAt")
UserModel.find({}).sort("firstName, lastName, email, createdAt, updatedAt")
用户模型
const UserSchema = new mongoose.Schema(
{
firstName: {
type: String,
required: [true, "Please enter a valid first name."],
},
lastName: {
type: String,
required: [true, "Please enter a valid last name."],
},
email: {
type: String,
required: [true, "Please provide a valid email address."],
unique: true
},
dob: {
type: Date,
default: null,
},
)
export default mongoose.models.User || mongoose.model("User", UserSchema)
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema