【发布时间】:2017-05-26 08:30:30
【问题描述】:
我有以下架构:
class Base {
constructor(initObj) { /* some init */}
// some methods
}
class Foo extends Base {
constructor(initObj) { super(initObj); }
// some methods
}
class Bar extends Base {
constructor(initObj) { super(initObj); }
// some methods
}
如何将Base 的数组序列化/反序列化到 mongodb 中?
目前,我在每个对象上保存一个属性 type 以了解它是 Foo 还是 Bar,并且我的 Foo 和 Bar 的构造函数如下所示:
constructor(initObj) {
super(initObj);
if (initObj.fromMongo) this.restore(initObj)
else this.initialize(initObj)
this.type = 'bar'; // or baz according to the object
}
因为您可以想象,从已保存对象和从新数据创建是不一样的。
有人知道实现这些操作的不那么棘手的方法吗?
【问题讨论】:
-
你用猫鼬吗?
-
不,我只用mongodb驱动
标签: node.js mongodb serialization ecmascript-6