【发布时间】:2016-03-12 01:54:58
【问题描述】:
考虑到我只使用绝对文档,我得到了一个适用于整个应用的通用 GET 函数。
现在我需要一些文档的某些属性引用其他文档,并且在执行时,GET 函数会填充它们(显然)。为此,我需要引用的架构,并使用引用的模型进行填充。
重点是:我希望我的 GET 函数保持通用,所以我不想引用我的任何模式,除非它是需要的。 .populate() 方法也是如此。
为了实现这一点,我正在遍历 .findOne() 方法的结果对象的每个键,并尝试检查每个特定键是否是 ObjectId/reference。像这样:
require('../schemas/mySchema').findOne({'slug': req.params.slug}, function(err, doc){
console.log(mongoose.Types.ObjectId.isValid(doc[key]));
});
但它返回的唯一真实值是“id”和“__v”属性(不知道这些来自哪里......我没有设置它们。_id 也是假的),其余的都是假的(包括作为参考、经过测试和工作的给定属性)
有什么办法吗?
提前致谢
【问题讨论】: