簡體   English   中英

您將如何使用貓鼬填充嵌套在數組對象中的引用?

[英]How would you populate references nested in an object of an array using mongoose?

您將如何在下面的購物車數組中填充產品字段?

{
    "_id": "5bbd1c6e2c48f512fcd733b4",
    "cart": [
        {
            "count": 1,
            "_id": "5bbd30ed9417363f345b15fc",
            "product": "5ba93a6d5d907d9512e43b75"
        }
        {
            "count": 2,
            "_id": "5bbd30ed9417363f345babcc",
            "product": "5ba93a6d5d2359512e43b75"
        }
        ],
    "totalItems": 0,
    "name": "kellie"
}

架構為:

const usersSchema = new mongoose.Schema({
    cart: [
        {
            product: {type: mongoose.Schema.Types.ObjectId, ref: 'product'},
            count: {type: Number},
        },
    ],
    totalItems: {type: Number, default: 0},
    totalPrice: {type: Number},
});

我試圖研究一個沒有運氣的解決方案。

我重現了您的架構(主要部分是cart.product ),並且沒有通過常規populate.exec()方法populate.exec()問題:

var result = Author.findOne({ _id: "5bbd93a29fceda195bec8665" })
.populate("books.book")
.exec()
.then(result => {
  console.log(result)
})

我的作者架構具有相同的card.product東西,但它是books.book

var AuthorSchema = new Schema({
  books: [{
      book: { type: Schema.Types.ObjectId, ref: "Book" },
      count: {type: Number}
    }
  ]
}

Author.find({})Author.find({})發生同樣的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM