在 Mongoose 我有两个模式,它们使用 Mongoose populate链接:
var SystemSchema = new Schema({
name : {type : String, trim : true}
, hosts : [{ type: ObjectId, ref: 'Host' }]
});
var HostSchema = new Schema({
name : {type : String, trim : true}
});
我的问题:我有一个主机的给定 ObjectId,现在想查看哪些系统确实引用了该主机。
我这样做是因为我通常只访问 SystemsSchema 并想要填充主机,但有人问我是否也可以检查主机的系统。现在我试图简单地搜索而不是从主机填充到系统,但我有点卡住了。
我的尝试之一是搜索位置,但这没有成功:
System.where('hosts').in(['4fabca804c9d76ac0b000022']).run(function(err, hosts) {
console.log(hosts);
});
有没有办法像这样搜索?请不要告诉我简单地将 HostSchema 作为子文档放到 SystemSchema 中,这只是一个简化的示例。
提前致谢!
最好的问候, 乌利