【问题标题】:How to find an id in an array in mongoose using nodejs如何使用nodejs在mongoose的数组中找到一个id
【发布时间】:2021-04-10 14:19:34
【问题描述】:

我有如下数据:

{
        "_id": "60708607143b058e101fc189",
        "orders": {
            "userID": "606eaa5cf67ac70cfa347fcd",
            "order": [
                {
                    "productIDs": [ "606f1f37006513258c8b59b9" ],
                    "vendorID": "60641cf597aed2a9a2971a3f",
                    "id": "60708607143b058e101fc18a"
                },

                {
                    "productIDs": [ "606f1fec006513258c8b59ba", "606f2bb2006513258c8b59bd" ],
                    "vendorID": "60642991015028ba0a6ce72c",
                    "id": "60708607143b058e101fc18b"
                }
            ]
        },
}

有没有办法使用 nodejs 和 mongoose 在这条记录中找到任何给定的 vendorID?

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    如果您以供应商身份登录,则可以在请求正文中发送vendor_id。要过滤与该特定供应商关联的所有订单,您可以尝试以下操作:

    Model.find({"orders.order": 
        {
          "$elemMatch": {
            "vendorID": req.body.vendor_id
          }
        }
    });
    

    【讨论】:

    • 我不能像那样发送_id。我可以作为供应商登录并需要查看与该特定供应商关联的所有订单。
    猜你喜欢
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 2020-05-07
    • 2017-03-24
    • 1970-01-01
    • 2021-12-03
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多