有人可以帮帮我吗?我想使用策略模式或继承/鉴别器与mongoose及其嵌入对象。我知道mongoose支持继承/鉴别器的收集,但还没有找到嵌入式对象的任何解决方案。不知道如何定义模式,或者即使没有真正繁重的编码也是如此。
这是我的代码。
源集合,其中每个源可以有一个不同类型的传输。理想的情况是,如果调用Source.getTransport()返回HttpTransport或FileTransport的实例。
[{
_id: "1......",
name: 'Source 1',
enabled: true,
transport: {
type: 'Http',
url: 'http://some.url'
}
},{
_id: "2......",
name: 'Source 2',
enabled: true,
transport: {
type: 'File',
path: '/some/path/here'
}
}]
我甚至不确定mongoose文档(如HttpTransport / FileTransport)是否应包含方法read()并执行所有繁重的工作或将其保留为配置对象并使用外部工厂创建传递此传输的传输实例配置对象就像。
var transport = TransportFactory.create(source.getTransport());
或者我完全错了,我还可以使用其他模式吗?
感谢您的帮助。