【问题标题】:MEAN stack with Angular cannot "GET"使用 Angular 的 MEAN 堆栈不能“获取”
【发布时间】:2015-10-19 14:37:20
【问题描述】:

我正在尝试使用下面的代码从网络访问 MongoDB,但是当我尝试访问它时显示的 URL

Cannot GET /posts?title=test&link=http://test.com  

当我尝试像这样使用它时

http://localhost:3000/posts?title=test&link=http://test.com

我的 app.js:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/news');
require('./models/Posts');
require('./models/Comments');

var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

module.exports = app;

和 index.js:

var express = require('express');
var router = express.Router();


var mongoose = require('mongoose');
var Post = mongoose.model('Post');
var Comment = mongoose.model('Comment');

router.get('/posts', function(req, res, next) {
  Post.find(function(err, posts) {
    if (err) { return next(err); }

    res.json(posts);
  });
});

router.post('/posts', function(req, res, next) {
  var post = new Post(req.body);

  post.save(function(err, post) {
    if (err) { return next(err); }

    res.json(post);
  });
});

Posts.js:

var mongoose = require('mongoose');

var PostSchema = new mongoose.Schema({
  title: String,
  link: String,
  upvotes: { type: Number, default: 0 },
  comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Comment' }]
});

mongoose.model('Post', PostSchema);

评论.js:

var mongoose = require('mongoose');

var CommentSchema = new mongoose.Schema({
  body: String,
  author: String,
  upvotes: { type: Number, default: 0 },
  post: { type: mongoose.Schema.Types.ObjectId, ref: 'Post' }
});

mongoose.model('Comment', CommentSchema);

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    您的问题与 mongodb 无关,但您遗漏了两个明确的点:

    1) 您需要将index.js 添加到您的快递应用中,例如app.use('/', require('./routes/index'))

    2) 需要在index.js中导出路由器。

    【讨论】:

      猜你喜欢
      • 2018-03-19
      • 2017-11-12
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2015-02-03
      • 2017-11-22
      相关资源
      最近更新 更多