【问题标题】:Not getting expected results from MongoDB in Express在 Express 中未从 MongoDB 获得预期结果
【发布时间】:2013-10-28 00:27:00
【问题描述】:

我正在运行 NodeJS /w ExpressJS 和 MongoDB。我正在尝试创建一个非常简单的 API,但有些东西无法正常工作。当我运行 api.js 并转到 /api/media/movies 它给我这个输出而不是数据库结果。我知道数据库中有结果,谁能告诉我我做错了什么?

{
  options: { },
  _conditions: {
    type: "Movie"
  },
  _updateArg: { },
  op: "find"
}

api.js

var app, express, models;

express = require('express');

models = require('./Librarian/models');

app = express();

app.get('/api/media/movies', function(req, res) {
  var movies;
  movies = models.Media.find({
    type: "Movie"
  });
  res.json(movies);
});

app.listen(3000);

./Librarian/models.js

var Media, config, mongoose;

mongoose = require('mongoose');

config = require('../config');

mongoose.connect(config.mongo.connectString);

Media = mongoose.model('Media', {
  type: {
    type: String
  },
  path: {
    type: String,
    unique: true
  }
});

module.exports = {
  Media: Media
};

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    忘记了我在异步环境中工作。这有效:

    var app, express, models;
    
    express = require('express');
    
    models = require('./Librarian/models');
    
    app = express();
    
    app.get('/api/media/movies', function(req, res) {
      models.Media.find({
        type: "Movie"
      }, function(err, movies) {
        res.json(movies);
      });
    });
    
    app.listen(3000);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-21
      • 1970-01-01
      相关资源
      最近更新 更多