我正在使用我的mongo db中的空值来检索 mongoose 对象:
{ _id: 53049728456d4416243bf65f,
userCreated: {},
status: { userCreated: {} },
user: 'patrice',
}
这很好,因为没有数据。
但当我使用 JSON.stringify(obj)进行字符串化时,我得到:
{ _id: 53049728456d4416243bf65f,
user: 'patrice'
}
键 userCreated 和状态尚未进行字符串化,并且未显示在我的输出中...
任何想法来自何处以及如何获得它?
我的模型是这样的:
new mongoose.Schema({
user: type: String, default: '',
status: {
name: { type: String, default: '' },
userCreated: {
time: { type: Date, default: Date.now }
}
},
userCreated: {
time: { type: Date, default: Date.now }
}
})
P上。
答案 0 :(得分:2)
JSON.stringify通常不会删除空对象,因此这是特定的mongoose。
我建议尝试.toObject()或.toJSON()
http://mongoosejs.com/docs/api.html#document_Document-toObject
这个将在.stringify期间被调用,所以它可能正在切断空对象。 http://mongoosejs.com/docs/api.html#document_Document-toJSON
首先尝试一下:
JSON.stringify(obj.toObject());
答案 1 :(得分:2)
尝试在架构选项中将minimize设置为false。为我工作。
opts.minimize = false; //stop empty objects being turfed
var s = new Schema(f_obj, opts);