使用nodejs从多个集合中获取mongodb集合记录

问题描述 投票:0回答:2

下面是所有说明集合1:用户

"_id" : ObjectId("5e2977e1cc1208c65c00648b"),
        "mappedShops" : [
                ObjectId("5e2976cbcc1208c65c006488"),
                ObjectId("5e2976cbcc1208c65c00690c"),
                ObjectId("5e2976cbcc1208c65c006499")
       "phoneNo" : 6789012345,
        "name" : "acdbcs",
        "address" : "address 2",
        "shopCode" : "D3137",
        "state" : "M.P",
        "city" : "Indore"

NOTEmappedShops的详细信息,例如:ObjectId(“ 5e2976cbcc1208c65c00690c”)在同一用户集合中集合2:订单

"_id" : ObjectId("5e27f998a42d441fe8a8957f"),
        "isApproved" : false,
"orderCreatedOn" : ISODate("2020-01-22T18:30:00Z"),
"shopOrder" : [],
"frequency" : "WE",
"orderCreatedBy" : ObjectId("5e2976cbcc1208c65c00690c")

收款3:付款

 "_id" :  ObjectId("5dd7900bcd00d33c245abbfa"),
 "paymentOfTheDay" : 400,
 "outstanding" : 100,
 "paymentDoneBy":ObjectId("5e2976cbcc1208c65c00690c")

场景是:我将从req.body获取_id(即admin id),这是我需要做的]1:我需要知道所有mapdShops objectId,而不是所有那些objectId,我需要查找所有那些objectId的详细信息2:比我需要查看商店从订单集合中创建的订单。(对于所有这些ID)3:比我需要查看付款集合中的未付款项(再次针对所有ID)这是我需要发送到前端]中提到的对象数组中的内容{“名称”,“电话号码”,“地址”}(来自用户集合)+ {“ orderCreatedOn”:ISODate(“ 2020-01-22T18:30:00Z”),“ isApproved”}(来自订单集合) + {“未清”}(来自收款)期望的响应可能看起来像这样:

"shopsListDetails":[{
"phoneNo","name","address","shopCode" ,"isApproved","outstanding"
}]

POSTMAN REQUEST

这是管理员的ID
{
    "_id": "5e2977e1cc1208c65c00648b"
}

最终,前端将接收我在shopListDetails [{}]中针对该管理员在用户集合中所有已映射商店的所有数据

如果有什么可以帮助我的,我会深陷其中

下面是所有描述集合1:用户“ _id”:ObjectId(“ 5e2977e1cc1208c65c00648b”),“ mappedShops”:[ObjectId(“ 5e2976cbcc1208c65c006488”),...

node.js mongodb mongoose
2个回答
0
投票
考虑您共享的第一个架构为User

0
投票
请尝试这个:
© www.soinside.com 2019 - 2024. All rights reserved.