데이터 파일Nodejs []를 반환하는 대신 JSON
var mongoose = require('mongoose');
var DataSchema = mongoose.Schema({
name:{
type: String,
required: true
},
create_date:{
type: Date,
default: Date.now
}
});
var Data = module.exports = mongoose.model('Data', DataSchema);
//Get
module.exports.getData = function(callback, limit){
Data.find(callback).limit(limit);
}
앱
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
GrabData =require('./models/Data');
// Connect to mongoose
mongoose.connect('mongodb://localhost/StephensNode', { useMongoClient: true });
//Stored in localhost via install
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback() {
console.log("connection Success");
});
exports.test = function(req,res) {
res.render('test');
};
app.get('/', function(req, res) {
res.send('Use API Please :)');
});
app.get('/Dir/Data', function(req, res) {
GrabData.getData(function(err, Data){
if(err){
throw err;
}
//Chuck a error
res.json(Data);
console.log(Data);
console.log(mongoose.connection.readyState);
//Sends data as json
});
});
app.listen(3000);
console.log('Running on port 3000');
나는 문제의 비트를 보내고있어의, 어떤 이유로 그것은 JSON을 다시 반환 아니에요. mongodb는 데이터를 가지고 있습니다. 단지 이름 필드 만 있습니다. 전에이 문제가 발생하지 않았습니다. 데이터베이스의 콘솔 로그에 정상적으로 연결되었다고보고되었습니다. 나는 심지어 테이블을 버리고 아무런 성공도없이 다시 만들었다.
귀하의 제목을 말한다 "[] 반환 대신 JSON"을 , "[]"는 빈 배열에 대한 JSON이됩니다. 실제로 반환되는 것은 무엇입니까? – ryachza
페이지는 테이블의 데이터 대신 빈 배열입니다. 그럼에도 불구하고 적어도 날짜를 반환하지 않아야합니까? –
'find '의 첫 번째 인수는 콜백 함수가 아닌 조건이어야합니다. – Josh