Как получить название коллекции из опции get в nodejs - PullRequest
1 голос
/ 09 мая 2020

Я пытаюсь получить данные таблицы из mongodb в зависимости от передаваемого имени коллекции. В моем проекте angular у меня есть один серв cie. Я передаю имя коллекции методом get, но я не знаю, как получить это имя коллекции внутри метода данных gettable.

product.component. js:

    ngOnInit(){ 
     this.getProductsData('table'); 
    }

    getProductsData(collection){ 
     this.userService.getTableData(collection).subscribe(
      res => {
        this.tableData =  res; 
      },
      err => {
        console.log(err);

      }
    );

  }

user .service.ts:

getTableData(collection){ 
return this.http.get('http://localhost:3000/api/getTableData',collection);
}

table.controller. js // Nodejs

    const mongoose = require('mongoose');
const passport = require('passport');
const _ = require('lodash');

var userSchemaTable = new mongoose.Schema({
    product_name: {
        type: String
    },
    price: {
        type: String
    },
    catogery: {
        type: String
    }
}, { collection: 'table' });


mongoose.model('table', userSchemaTable);

const Table = mongoose.model('table');

module.exports.getTableData = (req, res, next) => {

    console.log(collection)

    How to get collection name here??????????????????????

  collection.find({}, function(err, docs) {
        if (err) {
            console.log('ss' + err);
            return
        }
        return res.json(docs)
    }) 
}

1 Ответ

1 голос
/ 09 мая 2020

Измените свой метод getTableData на это, передайте object вместо

getTableData(collection){ 
return this.http.get(`http://localhost:3000/api/getTableData?collection=${collection}`);
}

И затем получите имя коллекции вот так

module.exports.getTableData = (req, res, next) => {

 let collection=req.query.collection;
    console.log(collection)

  collection.find({}, function(err, docs) {
        if (err) {
            console.log('ss' + err);
            return
        }
        return res.json(docs)
    }) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...