首页 > 解决方案 > 无法正常过滤来自 mongodb 表的数据

问题描述

在 express+mongodb 上创建 somne​​ rest-api。有一个问题:两个模型“Product”和“ExampleProduct”。第二个字段中有一个字段“productId”,它引用了“产品”模型。我需要通过“ExampleProduct”过滤模型“Product”中的示例,但我不能那么简单。我试图像下面的代码一样将它们放入数组中,但它返回的数组中只有一个我正在搜索的元素。我知道 forEach 在这样的事情上有点奇怪,我也尝试使用 filter() ,但不幸的是这也是错误的。

        var arr = [];
                async function Add(){
                    return new Promise((resolve,reject)=>{
                    await ExampleProduct.find(async function (err, exampleProduct) {
                        exampleProduct.forEach(async element=>{
                            
                            await Product.findById(element.productId,async function(err, product){
                                
                                arr.unshift(product);
                                resolve(arr);
                            });
                        });
                    });
                  });
                }
    

标签: node.jsmongodbexpress

解决方案


推荐阅读