Electron event.returnValue возвращает mon go document _id как объект bson вместо объекта - PullRequest
0 голосов
/ 05 февраля 2020

В настоящее время я работаю над преобразованием одного из моих проектов стека MEAN в настольное приложение с электронным.

Когда я нажимаю на кнопку в Angular, я хочу, чтобы это вызывало ipcrender для отправки данных на ipcmain , и на основании этого я хочу выполнить поиск в моей базе данных Mon go и вернуть результаты в Angular для отображения в таблице.

My main. js:

ipc.on('/api/pacientes', function(event, arg){ 

  async function asyncCall() {
    try {
      const pacientes = await Paciente.find();
      event.returnValue={pacientes: pacientes};
      console.log({pacientes: pacientes});
    catch (err) {
      console.log(err);       
    }
  }

  asyncCall();

  // event.returnValue={value: 'pong'};

})

My Angular:

import { ElectronService } from 'ngx-electron';
export class HttpService {

  constructor(private _http: HttpClient,
    private _electronService: ElectronService
    ){}

    function() {
      let myvar=this._electronService.ipcRenderer.sendSync('/api/pacientes', this.baseURL); 

      this.myvar.forEach(element=>{
        console.log(element["_doc"]['_id']);
        })
      return myvar;
    }           
}

, в этом случае myvar печатает это:

_id:
    id: Uint8Array(12) [94, 47, 79, 231, 64, 101, 221, 127, 92, 2, 152, 167]
    _bsontype: "ObjectID"

При печати того же документа в main. js ipcmain выходит на обычный документ mongodb с обычным объектом:

_id: 5e2f4fe74065dd7f5c0298a7,

Я пришел к выводу, что это это проблема:

event.returnValue={pacientes: pacientes};

Кто-нибудь сталкивался с этой проблемой? Любые предложения или обходные пути будут приветствоваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...