如何比较JSON对象和Waterline模型实例?

注意:我也在Waterline repo上为此打开了一个问题 ,但没有得到比我的解决方法更简单的解决scheme。

我有一个用户模型与所有的默认属性(例如createdDatemodifiedDate )和几个自定义的像emailAddresspassword (压制toJSON() )等等,并与其他模型一些额外的关联。

将包含JSON格式的用户模型实例的控制器响应与水线模型实例进行比较的正确方法是什么?

例如,此解决方法工作:

 request .get('/user/1') .end(function (err, res) { expect(res.body).to.deep.equal( JSON.parse(JSON.stringify( // Workaround for toJSON not stringifying dates _.cloneDeep( // Workaround for associations being lost testUser.toJSON() // `testUser` is a Waterline model instance that should be equivalent to the requested data (`/user/1`) ) )) ); done(); }); 

但是,我所尝试过的一切都不是。 ( cloneDeep()解决了这个问题),或者将string化date与Date对象进行比较( JSON.parse(JSON.stringify())解决了这个问题)。

有没有更好的方法来比较JSON与水线模型实例? 也许一些内置的工具?

那么使用JSON模式呢?