0

I'm running NodeJS /w ExpressJS and MongoDB. I'm trying to create a very simple API but something is not working correctly. When I run api.js and go to /api/media/movies it gives me this output and not DB results. I know there are results in the database, can anyone tell me what I'm doing wrong?

{
  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
};
4

1 回答 1

0

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

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);
于 2013-10-27T16:27:00.730 回答