Показать сообщение отдельно
  #1 (permalink)  
Старый 19.11.2019, 17:53
Новичок на форуме
Отправить личное сообщение для mitirrol Посмотреть профиль Найти все сообщения от mitirrol
 
Регистрация: 19.11.2019
Сообщений: 2

mongodb работа с базой через node и напрямую
Всем привет!

Вникаю в node.js и mongodb.
1. Поднял на Ubuntu Server 18.04: node.js, express, mongodb.
2. Создал базу test_base и коллекцию rates в ней.
3. Настроил маршруты для get/post/delete

Через POST передаю документ, проверяю через GET - добавился, все вроде ОК, ноооо...

Открываю на сервере mongo --shell, проверяю в той же коллекции той же базы - пусто. Пишу через post в новую коллекцию, проверяю GET-ом - запись есть в новой коллекции, а в mongo --shell коллекция новая не появилась.

Подскажите, как посмотреть наполнение базы на сервере и почему я не вижу наполнения в mongo --shell?

Чувствую что ответ лежит на поверхности и я просто где-то не вник, но уже три дня не могу понять куда смотреть и как найти решение(

Содержимое server.js:
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const bodyParser = require('body-parser');
const app = express();
const port = 8000;
var db;

MongoClient.connect('mongodb://localhost:27017/',function(err, database){
	if(err)
		{
		return console.log(err);
		}
  	db=database.db('test_base');
  	app.listen(3012,function(){
  		console.log('api app started')
  		});
	});

app.use(bodyParser.urlencoded({extended : true}));

app.listen(port, () =>{
	console.log('We are live on port '+port);
	});

app.get('/', function(req, res){
	res.sendfile('/media/share/index.html');
	});

app.get('/rates', function(req, res){
        res.sendfile('/media/share/rates.csv');
        });

app.post('/rates_post', (req, res) => {
 	var rate={
		name:req.body.name,
		billing_name:req.body.bilname,
		cost:req.body.cost
		};
	db.collection('crowd').insertOne(rate, function(err, resault){
                if(err)
                      {
                      console.log(err);
                      return res.sendStatus(500);
                      }
                res.send(resault);
                });
      });

app.get('/base', function(req, res){
  db.collection('rates').find().toArray(function(err, docs){
  	 if(err)
  		{
  		console.log(err);
  		return res.sendStatus(500);
  		}
      res.send(docs);
    })
  });     

app.post('/parse', (req, res) => {

        var rate={
                name:req.body.name,
		            bilname:req.body.bilname,
		            cost:req.body.cost,
		            service:req.body.service,
		            technology:req.body.technology,
		            sity:req.body.city,
		            service_package:req.body.service_package,
                };
        db.collection('rates').insertOne(rate, function(err, resault){
                if(err)
                      {
                      console.log(err);
                      return res.sendStatus(500);
                      }
                res.send(resault);
                });
      });



app.delete('/del_all', (req, res) => {
        db.collection('rates').deleteMany({}, function(err, resault){
                if(err)
                      {
                      console.log(err);
                      return res.sendStatus(500);
                      }
                res.send(resault);
                });
      });
Ответить с цитированием