В настоящее время я работаю над преобразованием одного из моих проектов стека 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};
Кто-нибудь сталкивался с этой проблемой? Любые предложения или обходные пути будут приветствоваться.