概念: 我希望用新的加密更新MongoDB文档。为此,我正在使用遍历每个对象键的遍历库npm:当标记为Traverse(Object).each(async(__ data)<-如果使用async-await,则遍历现在会出现问题比遍历将开始跳过从中返回的数据__data.i还尝试了BlueBird来解决问题,但是它将所有数据拆分为单个字符集。
问题 我希望traverse.each方法内部具有异步功能,以便在traverse内部发生的任何数据更改都将是asyncronus。
代码
// if given @_dataType is not empty.
await FindAndReplace(_dataPipe).forEach((data) => {
// local variable.
let _hash
console.log('13-043')
console.log(TypeCheck('Object', data) && _.keys(data).indexOf(_allowedHash[m]) > -1, data, _allowedHash[m])
// if current key is allowed.
if (TypeCheck('Object', data) && _.keys(data).indexOf(_allowedHash[m]) > -1) {
// Argon2 data.
BlueBird.method(__Argon2.hash([data[_allowedHash[m]]]), __hash => {
// concat hash result.
_hash += __hash
})
console.log('-1304')
console.log(_hash, TypeCheck('String', _hash), data[_allowedHash[m]])
// on successful data encoding.
if (TypeCheck('String', _hash)) {
data[_allowedHash[m]] = _hash
data['encryption'] = {
'Argon2': {
'for': _allowedHash[m],
'hash': _hash
}
}
// emmit data for allowing validation.
_emmit('Argon2', Argon2)
// style guide.
Context.debug(`data encoded successfully with argon2..`, 'successful')
}
}
})
注意 如果我不干净,那就让我知道我还能为您提供什么。这样您打电话告诉我为什么它不起作用。以及它将如何工作?
谢谢