我正在尝试使用express发送数据但由于某种原因它丢失了部分数据。
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为空。
更新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 :(得分:0)
我不知道错误的真正原因,但是我从集合readingdata
中移除了所有内容并填充了一些新数据。在res.json
正常工作之后。