【问题标题】:Mongoose: Sort by nested field [duplicate]Mongoose:按嵌套字段排序[重复]
【发布时间】:2018-10-22 07:40:25
【问题描述】:

我正在尝试使用名为orderIndex 的嵌套字段对数据进行排序。

router.get("/", (req, res) => {
  Book.find({ _id: req.params.id })

    .sort({ 'Book.chapters.orderIndex': "asc" }) //doesn't work

    .then(books => {
      res.render("books/index", {
        books: books
      })
    });
});

Book 外观示例:

//Book
    {
        "_id": {
            "$oid": "1234517fe46cf86900af82f"
        },
        "chapters": [
            {                 
                "_id": {
                    "$oid": "a1"
                },
               "title": "first book",
               "orderIndex": "1",
            },
             {                 
                "_id": {
                    "$oid": "5678798be6bb05e4427ee65"
                },
               "title": "second book",
               "orderIndex": "2",
            },
            //..some more
        ]
    }

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    改变

    .sort({ 'Book.chapters.orderIndex': "asc" })
    

    .sort({ 'chapters.orderIndex': 1 })
    

    看看这个link

    这里是sort 文档。

    【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 2019-10-25
    • 2021-08-07
    • 2015-09-19
    • 2015-10-24
    • 2015-11-22
    • 2020-04-13
    • 2019-10-19
    相关资源
    最近更新 更多