#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. хорошо, спасибо. я добавил схемы