У меня возникли проблемы с проектом, над которым я работаю. Я хочу создать базу данных, в которой я могу хранить даты и ссылки на видеоролики YouTube в базе данных MongoDB. Я использую Mongoose как ORM. Проблема заключается в том, что создается база данных и коллекция, и я могу читать и обновлять ее за пределами маршрутов, но не внутри (если кто-то может понять, что я говорю). Я хочу иметь возможность сделать запрос GET для текущих элементов в базе данных на маршруте/database, а также сделать POST на маршрут/database.Как обновить и прочитать коллекцию в MongoDB с помощью Mongoose
Мой код приведен ниже. Пожалуйста, помогите:
//grab express and Mongoose
var express = require('express');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//create an express app
var app = express();
app.use(express.static('/public/css', {"root": __dirname}));
//create a database
mongoose.connect('mongodb://localhost/__dirname/data');
//connect to the data store on the set up the database
var db = mongoose.connection;
//Create a model which connects to the schema and entries collection in the __dirname database
var Entry = mongoose.model("Entry", new Schema({date: 'date', link: 'string'}), "entries");
mongoose.connection.on("open", function() {
console.log("mongodb is connected!");
});
//start the server on the port 8080
app.listen(8080);
//The routes
//The route for getting data for the database
app.get("/database", function(req, res) {
Entry.find({}, function(err, data) {console.log(err, data, data.length); });
});
//The route for posting data on the database
app.post("/database", function(req, res) {
//test new post
var newMonth = new Entry({date: '1997-10-30', link: 'https://wwww.youtube.com/'});
newMonth.save(function(err) {
if (err !== null) {
//object was not save
console.log(err);
} else {
console.log("it was saved!")
};
});
});
//create an express route for the home page at http://localhost:8080/
app.get('/', function(req, res) {
res.send('ok');
res.sendFile('/views/index.html', {"root": __dirname + ''});
});
//Send a message to the console
console.log('The server has started');
Как вы делаете эти запросы? Использование завитка? –
Я не понимаю ваш вопрос. Я использую Node.js + Mongoose для выполнения запросов, насколько мне известно. Извиняюсь, что я немного нуб с этими вещами. – Siya
Чтобы проверить маршруты GET и POST, вам нужно будет передать GET или POST-глагол вместе с запросом или сервер не будет знать, что вы хотите с ним делать. Или вы используете форму для этого? –