・データファイルNodejsは、私はそれがJSONを戻っていない何らかの理由で、問題のビットを持っています[]の代わりに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);
}
のApp
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');
を返します。 mongodbにはデータが入っています。現在のところ、名前フィールドしかありません。私は前にこの問題に遭遇したことはありません。データベースのコンソールログに、正常に接続されていると報告されました。私はテーブルを投げ捨て、何の成功もなく再現しました。
あなたのタイトルと言い、「[]を返す代わりにJSON」を"[]"は空の配列のJSONになります。実際に返されるのは何ですか? – ryachza
ページは、テーブル内のデータの代わりに空の配列にすぎません。それでも、少なくとも日付を返すべきではありませんか? –
'find'の最初の引数は条件でなければならず、コールバック関数でなければなりません。 – Josh