как отправить данные из одной коллекции с данными из другой коллекции в nodejs express mongoose

#node.js #express #mongoose

#node.js #экспресс #mongoose

Вопрос:

Я новичок в nodejs.Я хочу отправить данные книги с информацией о запасах. Когда я вызываю эту функцию, она выводит только пустой массив.

Он отправляет сведения о магазине до сведений о книге. Кто-нибудь может мне помочь с этим?

у меня есть хранилище и книга схем.

Схема книги

 module.exports = (mongoose) => {
  var schema = mongoose.Schema({
title : String,
author : String,
publishedYear : String,
barcode : String,
category : String

  });

  schema.method("toJSON", function () {
    const { __v, _id, ...object } = this.toObject();
    object.id = _id;
    return object;
  });

  const Book = mongoose.model("book", schema);
  return Book;
};
  

Магазин

 module.exports = (mongoose) => {
  var schema = mongoose.Schema({
name : String,
address : String,
currentStock : String,


  });

  schema.method("toJSON", function () {
    const { __v, _id, ...object } = this.toObject();
    object.id = _id;
    return object;
  });

  const Store = mongoose.model("store", schema);
  return Store;
};
  

Это функция контроллера

   exports.findAll = (req, res) => {
  Store.find()
    .then(data => {
      BookStore = []
data.forEach(store => {
 Book.findById(store.bookId).then((BookData) => {
          console.log(itemData)
          let storearray = {
            name: store.name,
          currentStock : store.currentStock 
            bookName: BookData
          }
          BookStore.push(storearray)
         
        }).catch((e) => { console.log(e) }).finally(() => {
          res.send(BookStore)
        })
 })
    })
 }
  

Комментарии:

1. Почему вы называете это таблицами? Это коллекции вызовов в MongoDB. Также покажите нам вашу схему, чтобы мы могли лучше понять контекст

2. хорошо, спасибо. я добавил схемы