Как получить MongoDB ObjectID в виде шестнадцатеричной строки в рендерере - PullRequest
0 голосов
/ 19 июня 2020

Мне что-то здесь не хватает. Мне нужна шестнадцатеричная строка в рендерере. Поэтому я написал функцию Mon go Util, которая возвращает шестнадцатеричную строку. Это нормально работает. Затем я написал пару обработчик / вызов, чтобы передать объект и вернуть шестнадцатеричную строку. Обработчик получает шестнадцатеричную строку. Но в рендерере я вижу объект обратно.

Как получить шестнадцатеричную строку в рендерере?

//main.js
ipcMain.handle('ObjectIDtoHexString', async (event,args) => {
  const result = mongoUtil.ObjectIDtoHexString(args)
  console.log(result) //as string
  return result
})


//renderer.js
console.log(JSON.parse(data.value)) //as Object
ipcRenderer.invoke('ObjectIDtoHexString', JSON.parse(data.value)).then(console.log) //as object ??


//mongoUtil.js
const { ObjectID } = require( 'mongodb' )

function ObjectIDtoHexString (object) {
  let hexString = ''
  Object.values(object.id).forEach(elem =>{
    const result = elem.toString(16)
    if(result.length === 2) {
      hexString += result
    } else {
      hexString += "0" + result
    }
  })
  const id = new ObjectID(hexString)
  console.log(id) //as string
  return id   
}
...