在我的MongoDB后端中,我使用<class 'pandas.core.series.Series'>
和pre
钩子比较文档的保存前和保存后版本,以便在发生某些更改时进行后处理。我还使用下划线的post
方法来查找文档的两个版本之间的差异。
但是,由于这些不是简单的对象,而是实际上的Mongoose对象,因此存在各种各样的附加数据,例如:
_.difference()
因此,长话短说,我正在尝试弄清楚如何仅获取对象数据-别无其他,以便 activePaths:
StateMachine {
paths: [Object],
states: [Object],
stateNames: [Array],
map: [Function] },
pathsToScopes:
将提取已更改的数据。我尝试使用_.difference
,但这在我的情况下不起作用。我还尝试在两个文档中调用JSON.parse()
Mongoose方法,但这会导致“不是函数”错误。
答案 0 :(得分:1)
您可以在文档上使用toObject()方法将其转换为常规对象。
.lean()方法只能像这样预先在查询中调用:
// passing options (in this case return the raw js objects, not mongoose documents by passing `lean`
Adventure.findById(id, 'name', { lean: true }, function (err, doc) {});
// same as above
Adventure.findById(id, 'name').lean().exec(function (err, doc) {});