Ich arbeite mit NodeJS / w ExpressJS und MongoDB. Ich versuche eine sehr einfache API zu erstellen, aber etwas funktioniert nicht richtig. Wenn ich renne api.js
und geh zu /api/media/movies
Es gibt mir diese Ausgabe und keine DB-Ergebnisse. Ich weiß, dass es Ergebnisse in der Datenbank gibt. Kann mir jemand sagen, was ich falsch mache?
{
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
};
Antworten:
0 für die Antwort № 1Ich habe vergessen, dass ich in einer asynchronen Umgebung arbeite. Das funktioniert:
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);