2016-06-13 5 views
2

私は急行を使用してデータを送信しようとしていますが、何らかの理由でデータの一部が失われています。Express res.json()がデータを失う

function(err, data) { 
    if (err) console.log(err); 

    console.log(data); 
    res.json(data); 
} 

変数データは(簡体字)のようになります。

{field1: 'value1', field2: 'value2', field3: {subfield: 'subvalue'}}

しかし、私が受け取るブラウザで:

{field1: 'value1', field2: 'value2', field3: null }

は、私が何か間違ったことか、何かが足りないのですか?

更新:ブラウザで

全コード

UserReadingData.find({ 
    UserId: { 
     "$exists": true, 
     "$eq": user._id 
    }, 
    InFuture: false, 
    Stopped: false 
}) 
.populate('SeriesId', 'SeriesName') 
.exec(function(err, data) { 
    if (err) console.log(err); 
    console.log(data); 
    res.json(data); 
}); 

そしてSeriesIdはnullです。

アップデート2:にconsole.log(データ)の

結果:

{ Issues: 
[ 575efe1c3d6d04662a2cd1c4 
    575efe1c3d6d04662a2cd1d3 ], 
Stopped: false, 
InFuture: false, 
__v: 0, 
SeriesId: 
{ SeriesName: 'Test name', 
    _id: 575efe1b3d6d04662a2cd188 }, 
UserId: 561c080aa849427a8699cafd, 
_id: 575f0981ddac1c802d9d1536 } 

アップデート3:

マイスキーマ

var seriesSchema = mongoose.Schema({ 
Meta: metaInformationSchema, 
SeriesName: String, 
Description: String, 
Creators: [creatorsSchema], 
Featured: [featuredSchema], 
PublisherName: String, 
IsStoryArc: Boolean, 
Issues: [{ 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'Issue' 
}]}, { 
collection: 'library'}); 

var userReadingDataSchema = mongoose.Schema({ 
UserId: { 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'User' 
}, 
SeriesId: { 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'Series' 
}, 
Issues: [{ 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'Issue' 
}], 
InFuture: Boolean, 
Stopped: Boolean}, {collection: 'readingdata'}); 

私は、SQLから来て、それが最初ですmongoを使った時。

+0

「データ」とは何ですか?それはどこから来ていますか? – robertklep

+0

完全なコードで質問を更新しました – emwsc

+0

'user.id'は実際にDBに存在しますか? – peteb

答えて

0

本当に何が間違っているのかわかりませんが、コレクションreadingdataのすべてを削除して、新しいデータを入力しました。その後、res.jsonが正しく動作しました。

関連する問題