Ich habe ein Problem und könnte wirklich Hilfe gebrauchen. Wir hatten eine Anwendung, die MySQL verwendet und wir wechseln zu MongoDB. Wir verwenden Node.js mit Express und haben MongoDB und Mongoose für die DatenbankMongoose ist verbunden, kann aber keine Daten finden
Wir haben die MongoDB und Mongoose-Dokumentation untersucht und nach verwandten Fragen zu Stack Overflow gesucht, aber wir scheinen etwas zu verpassen.
Dies ist, was wir in app.js haben:
var mongo = require('mongodb');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost:27017/DBName');
Dieses
unsere usersModel.js istvar db = require('mongoose');
var Schema = db.Schema;
var userSchema = new Schema({
u_id : Number,
u_name : { type: String, required: true },
u_lastname : String
});
module.exports = db.model('user', userSchema);
Und das ist, was wir in der Usercontroller verwenden:
var User = require('../models/usersModel');
User.find({}, function(err, users) {
if (err) throw err;
console.log("Found users: ", users);
});
Die Datei console.log (db.connection.readyState); sagt, es verbindet. Und die User.find() scheint nicht einen Fehler zu geben, sondern gibt stattdessen ein leeres Array/undefined.
Wir würden es wirklich schätzen, wenn uns jemand sagen könnte, was wir übersehen.
Vielen Dank im Voraus.
Ist es ein leeres Array oder ist es nicht definiert? –
Sind Ihre Dokumente in der 'user'-Sammlung? Mögliche Betrüger von https://stackoverflow.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejs – JohnnyHK