#node.js #mongodb #api #collections
Вопрос:
Я хочу выполнить инструкцию join для коллекции mongo и получить данные из другой коллекции также с помощью значения общего поля
Я использовал следующий код, но он не работает и не возвращает никаких данных, когда я пытался через почтальона
const express = require('express')
const Product = require('../models/products')
const router = new express.Router()
router.get('/products/view', function(req, res, next) {
Products.find(function (err, events) {
if (err) return next(err);
res.json(events);
});
}); // THIS IS WORKING BUT ONLY GIVING DATA OF ONE TABLE
router.get('/products/paginate', function(req, res, next) {
Product.aggregate([
{
$lookup: {
from: 'hsncodes',
localField: 'hsncode',
foreignField: 'hsncode',
as: 'hsncodedetails'
}
}]);
}); // THIS IS NOT WORKING
Комментарии:
1. Я думаю , что это должно быть Products.aggregate (), возможно, вы забыли » s «в конце, и если это все еще не работает, попробуйте удалить» s » в из : «hsncodes» . я имею в виду обратиться к коллекции в единственном числе .
2. еще одним хорошим решением этой проблемы может быть использование виртуальных машин в мангусте . пожалуйста, дайте мне знать, что я напишу решение этой проблемы с помощью виртуалов
3. Продукты не могут быть, потому что моя модель называется Product
4. кроме того, имя поля-только Hsncode, тогда почему я должен добавлять к нему s
5. @шашватгупта ??