Подключение Node.js к MongoDB с помощью монаха

Я пытаюсь сохранить данные, написанные в jade, для хранения в MongoDB с использованием monk, но он не хранит данные и не выдает ошибку

подключение к коду MongoBD: (p1 - имя базы данных)

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/p1');

Код index.js для хранения в БД:

/* GET New User page. */
router.get('/addnew', function(req, res) {
res.render('addnew', { title: 'Add New Theatre' });
});

/* POST to Add User Service */
router.post('/addnew', function(req, res) {

// Set our internal DB variable
var db = req.db;

// Get our form values. These rely on the "name" attributes
var theatrename = req.body.TheatreName;
var screen = req.body.Screen;
var latitude = req.body.Latitude;
var longitude = req.body.Longitude;
var city = req.body.City;

// Set our collection (Theatre is the name of the collection)
var collection = db.get('Theatre');

// Submit to the DB
collection.insert({
    "TheatreName" : theatrename,
    "Screen" : screen,
    "Latitude" : latitude,
    "Longitude" : longitude,
    "City" : city,
    }, function (err, doc) {
    if (err) {
        // If it failed, return error
        res.send("Not adding into db.");
    }
    else {
        // And forward to success page
        res.send("Theatrelist");
    }
});
});
module.exports = router;

Это мой нефритовый код:

extends layout
block content
h1= title
form#formAddUser(name="adduser",method="post",action="/adduser")
p Thearte Name: 
input#inputName(type="text", name="ThearteName")
br
p Screen :
input#inputScreen(type="text", name="Screen")
br
p Latitude: 
input#inputUserLat(type="text", name="Latitude")
br
p Longitude: 
input#inputlong(type="text", name="Longitude")
br
p City: 
input#inputCity(type="text", name="City")
br
br
button#btnSubmit(type="submit") submit

1 ответ

Если бы я был вами, я постараюсь сделать это: покажите в консоли, что переменные из "req.body.VAR" отправляются правильно. Например

router.post('/addnew', function(req, res) {
         console.log(req.body.Screen);

Затем я попытаюсь добавить некоторые данные в BD, например:

collection.insert({
    "TheatreName" : "Fakename",
    "Screen" : "Fakescreen",
    "Latitude" : "0",
    "Longitude" : "0",
    "City" : "Fakecity",
    }, function (err, doc) {
    if (err) {
        // If it failed, return error
        res.send("Not adding into db.");
    }
    else {
        // And forward to success page
        res.send("Theatrelist");
    }
});

Если вы видите результат в вашем BD, все в порядке (в остальном, в соединении или что-то подобное).

Я надеюсь, что мой ответ поможет вам!

Другие вопросы по тегам