【问题标题】:Why does await model.find().sort() sorts elements but not the result array?为什么 await model.find().sort() 对元素进行排序而不对结果数组进行排序?
【发布时间】:2022-02-20 18:09:39
【问题描述】:
const products=await Product.find().sort("condition")

在上面的 sn-p 中,Product 是我的猫鼬模型。上面的 sn-p 根据条件对结果进行排序,但下面的 sn-p 没有:

let products=await Product.find()
const results=products.sort("condition")

我正在关注 Youtube 上 Coding Addict 的“Node.js 项目”,他说这是因为使用 await 返回一个列表,我们无法使用 mongoose.sort() 函数。 所以我想了解的是为什么sort()函数在第二个sn-p中不起作用,因为我检查了两个sn-ps中返回的值的类型,并且在这两种情况下都是Obj

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    const products=await Product.find().sort("condition") 这一行有效,因为sort 部分是由MongoDB 在获取数据时制作的。

    在你的await 之后,你得到products,一个JavaScript 数组。或者在 JavaScript 数组上,你有一个 sort 方法,但它不像猫鼬的那样,女巫接受一个参数。

    【讨论】:

    • await 是否总是将数据转换为 JavaScript 数组?
    • 不,这取决于数据本身。它可以是任何有效的类型。
    • 你能提供任何资源让我了解更多关于await的这个功能吗?
    • 你可以观看这个 YouTube tutoriel
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2016-02-01
    • 2015-06-28
    • 2016-04-11
    相关资源
    最近更新 更多