Я хочу получить информацию из базы данных с кодом Jquery, что-то вроде этого в консоли:
[{
"date": "...",
"_id": "...",
"longUrl": "...",
"shortUrl": "...",
"fullUrl": "...",
}
{
"date": "...",
"_id": "...",
"longUrl": "...",
"shortUrl": "...",
"fullUrl": "...",
}]
Возможно ли это сделать? У меня есть сценарий node.js:
var mongoose = require('mongoose');
var express = require('express');
var bodyParser = require('body-parser');
var Url = require('./models/Url');
var shortId = require('shortid');
var http = require('http');
var fs = require('fs');
require('dotenv').config();
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
mongoose.connect(process.env.MLAB_URI);
app.get('/urls', (req,res,next) => {
Url.find({}, function(err,data){
res.json(data);
console.log(data.length);
})
});
app.get('/deletebase', (req,res,next) => {
Url.deleteMany({}, function(err,data){
res.json(data);
})
});
app.use(express.static(__dirname + "/"));
app.get("/:shortUrl", function(req,res,next){
Url.findOne({shortUrl: req.params.shortUrl}, function(err, findUrl){
if(err) console.log(err);
if(!findUrl){
return next({status: 400, message:'unknown shorturl'})
}
res.redirect(findUrl.longUrl);
})
});
app.post('/', function(req,res){
var url = new Url(req.body);
var hostname = req.headers.host;
var expression = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/gi;
var regex = expression;
if(regex.test(url)===true){
url.shortUrl = shortId.generate();
url.fullUrl = "https://" + hostname + '/' + url.shortUrl;
url.save(function(err,savedUrl){
if(err) console.log(err);
res.redirect("https://"+hostname);
});
}else{
res.redirect("https://"+hostname);
}
});
app.listen(3000, function(){
console.log("RUNNING");
})