【发布时间】:2013-03-23 17:11:36
【问题描述】:
我有这两个简化的架构,我想根据 IP 地址“加入”。
var personSchema = Schema({
name: String,
ip: String
});
var logSchema = Schema({
message: String,
ip: String
});
如果 person._id 是 IP 地址,它会起作用。但这不是我的选择。
目前我已经解决了保存新日志时的问题,我搜索人员并添加对日志的引用。然后架构是这样的:
var logSchema = Schema({
message: String,
ip: String,
person: { type: Schema.Types.ObjectId, ref: 'Person' }
});
我已阅读猫鼬 Populate 文档、Document#populated 和 Model.populate()。我仍然不确定这是否可能。这个例子非常简单,我在日志收集上使用了 mapReduce 和分组,因此填充对我来说非常有用。
我还阅读了Database references,在我看来,唯一的选择是基于 _id 进行填充。但它是纯 mongodb,也许还有另一种使用 mongoose 的可能性?
是否可以不基于 _id 字段填充查询?
【问题讨论】:
标签: mongoose