Я изучал простое приложение node.js + mongoose, однако что-то пошло не так. Я работал на некоторых примерах с этого сайта, но не повезло. Выполняется код, однако записи из db (который заполнен, кстати) не возвращаются. Может ли кто-нибудь взглянуть и помочь? Я работаю над этим уже более дня, но без радости.Node.js + Mongoose - что случилось?
модели/entidade.js
var mongoose = require('mongoose')
,Schema = mongoose.Schema
,ObjectId = Schema.ObjectId;
var entidadeSchema = new Schema({
cnpj: String,
razaoSocial: String,
nomeFantasia: String,
endereco: String,
unidades: [{ codigo: String, nome: String, endereco: String, ativo: {type: Boolean, default: true} }],
dataCriacao: { type: Date, default: Date.now },
cadastroAtivo: { type: Boolean, default: false },
});
module.exports = mongoose.model('Entidade', entidadeSchema);
маршруты/entidades.js
var Entidade = require('../models/entidade.js');
exports.list = function(req, res) {
Entidade.find(function(err, entidades) {
console.log("route IN: %d records", entidades.length);
res.send(entidades);
});
};
и, наконец, server.js
var express = require('express');
var app = express();
app.configure(function() {
app.use(express.logger('dev'));
app.use(express.bodyParser());
});
// connection to mongoDB
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/ccidev');
var entidade = require('./routes/entidades');
app.get('/entidades/list', entidade.list);
app.listen(3000);
Как я уже сказал, при запуске приложения я не получаю никаких ошибок, но пустой результат. Любая помощь приветствуется.
Спасибо и уважением, Виниций
Сначала я думал то же самое, но 'find()', кажется, работает отлично, без каких-либо условий (и просто обратного вызова). Кстати, на ваш ответ также не хватает условий ... – robertklep
Да, ребята, 'find()' должен просто отлично работать. Я нашел проблему ... база данных была создана за пределами приложения. Я имею в виду, что я не загружал данные с помощью приложения. Поэтому я попытался загрузить ТОЛЬКО данные с помощью метода POST, и он работал нормально. Теперь данные отображаются (единственным отличием от предыдущей схемы был атрибут '__v', который был добавлен mongoose для контроля версий). Довольно странно, но, по крайней мере, сейчас это работает! И спасибо большое @lemulot и @robertklep за ваши мысли! Я очень ценю обратную связь! :) – vbatista