Я пытаюсь повторно использовать мой код на двух разных контроллерах NodeJS, но, похоже, я не понял, как работают вызовы Java.Данные поступают из MongoDB с использованием Mongoose
. Я могу назвать код изображения - сам по себе findMyBoatPictures нормально, но когда я пытаюсь сделать это из кода контроллера лодки - findMyForSale, моя трассировка составляет
трассировка.производит это из NodeJS
in boats findMyBoatPictures
picture found records: 3
Таким образом, 3 записи найдены, но после этого они куда-то исчезают, и я не могу видеть, где
Любая помощь будет принята с благодарностью
Что яя пытаюсь добиться того, чтобы после получения трех записей я хотел добавить часть каждой записи в первую из моих записей лодки, которые были возвращены в Boat.find, а затем повторить этот процесс для каждой записи лодки
picture.routes.js
module.exports = function(app) {
const picture = require('../controllers/picture.controller.js');
// Retrieve all by boat Id
app.get('/api/pictures/:boatId', picture.findMyBoatPictures);
}
boat.routes.js
module.exports = function(app) {
const boats = require('../controllers/boat.controller.js');
// Retrieve all Boats for sale
app.get('/api/boatsforsale/:agentId', boats.findMyForSale);
}
boat.controller.js
const Boat = require('../models/boat.model.js');
const picture = require('../controllers/picture.controller.js');
// FETCH all Boats for sale by specified agent
exports.findMyForSale = (req, res) => {
var query = { sellingAgent: "1" }; // fixed to 1 for testing
Boat.find(query)
.then(boats => {
req.params.boatId = boats[0].boatId;
var pics;
picture.findMyBoatPictures(myCall, res, function (pics) {
if (pics) {
console.log("find pics #1 result is " + JSON.stringify(pics));
}
else {
console.log("find pics #2 result is " + JSON.stringify(pics));
}
res.json(boats);
});
}).catch(err => {
console.log("findMyForSale failure is " + JSON.stringify(err));
res.status(500).send({
msg: err.message
});
});
};
picture.controller.js
const Picture = require('../models/picture.model.js');
exports.findMyBoatPictures = (req, res) => {
console.log("in boats findMyBoatPictures")
var query = { owningId: String(req.params.boatId) };
var orderBy = { sequenceNumber: 1 };
Picture.find({ owningId: String(req.params.boatId) }).sort({ sequenceNumber: 1 })
.then(pics => {
console.log("picture found records: " + pics.length);
res.json(pics);
}).catch(err => {
console.log("picture found error " + err.message);
res.status(500).send({
msg: err.message
});
});
};