Mongodb 一对一,猫鼬不工作

Mongodb 一对一,猫鼬不工作,mongodb,mongoose,populate,Mongodb,Mongoose,Populate,我是猫鼬和猫鼬的新手。 我有两个收藏(cart和produk) 1个购物车有1个produk,我得到购物车并填充产品,但不显示数据关系。 代码如下: 路由 router.route('/relations/:app_id') .get(cartController.relation); 模型(cartModel) 模型(produkModel) 控制器(cartController) }) //结果 { "status": 1, "message": &

我是猫鼬和猫鼬的新手。 我有两个收藏(cart和produk)

1个购物车有1个produk,我得到购物车并填充产品,但不显示数据关系。 代码如下:

路由

router.route('/relations/:app_id')
.get(cartController.relation);
模型(cartModel)

模型(produkModel)

控制器(cartController)

})

//结果

{
"status": 1,
"message": "Operation success",
"data": [
    {
        "_id": "60af72022d57d542a41ffa5a",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "qty": 1,
        "product_id": "60112f3a25e6ba2369424ea3"
    },
    {
        "_id": "60b020536ccea245b410fb38",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "product_id": "603f5aff9437e12fe71e6d41",
        "qty": 1
    }
]
}
预期结果

{
"status": 1,
"message": "Operation success",
"data": [
    {
        "_id": "60af72022d57d542a41ffa5a",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "qty": 1,
        "product_id": {
             "_id": "60112f3a25e6ba2369424ea3",
             "name": "snack"
         }
    },
    {
        "_id": "60b020536ccea245b410fb38",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "product_id": {
             "_id": "603f5aff9437e12fe71e6d41",
             "name": "snack"
         }
        "qty": 1
    }
]
}
我想念什么


感谢您的帮助

您需要传递要填充的路径或指定参数的对象。因此,在这种情况下,您的代码应该是:

const carto = await Cart.find().select('app_id product_id qty').populate("product_id");

现在它的显示错误模式还没有为模型“Produk”注册。以及.populate('product_id')上的“product_id”,它是架构购物车上的字段product_id???是的。这是
产品id
字段。您可以尝试要求控制器中的Produk模型修复错误
{
"status": 1,
"message": "Operation success",
"data": [
    {
        "_id": "60af72022d57d542a41ffa5a",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "qty": 1,
        "product_id": "60112f3a25e6ba2369424ea3"
    },
    {
        "_id": "60b020536ccea245b410fb38",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "product_id": "603f5aff9437e12fe71e6d41",
        "qty": 1
    }
]
}
{
"status": 1,
"message": "Operation success",
"data": [
    {
        "_id": "60af72022d57d542a41ffa5a",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "qty": 1,
        "product_id": {
             "_id": "60112f3a25e6ba2369424ea3",
             "name": "snack"
         }
    },
    {
        "_id": "60b020536ccea245b410fb38",
        "app_id": "CvR4dTTjC7qgr7gA2yoUnIJnjRXaYokD6uc2pkrp",
        "product_id": {
             "_id": "603f5aff9437e12fe71e6d41",
             "name": "snack"
         }
        "qty": 1
    }
]
}
const carto = await Cart.find().select('app_id product_id qty').populate("product_id");