Node.js,embedded式对象的Mongoose策略模式(inheritance,鉴别器)

有人可以帮我吗? 我想用mongoose及其embedded的对象来使用策略模式或inheritance/鉴别器。 我知道mongoose支持inheritance/鉴别器的收集,但没有find任何解决scheme的embedded式对象。 不知道如何定义schema / s,或者即使没有真正的重编码也是可能的。

这是我的代码。

来源集合,每个来源可以有一个不同types的运输。 如果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(),并执行所有繁重的工作,或者只是将其保留为configuration对象,并使用外部工厂创build传输实例传递此configuration对象。

 var transport = TransportFactory.create(source.getTransport()); 

或者我完全错了,还有其他的模式可以使用?

感谢您的任何帮助。

       

网上收集的解决方案 "Node.js,embedded式对象的Mongoose策略模式(inheritance,鉴别器)"