首页 > 解决方案 > 如何在 jquery 中获取数据库信息?

问题描述

我想用 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");
})

标签: javascriptjquerynode.jsexpress

解决方案


推荐阅读