como manuseair o documento do mongoDB com properties _bsontype

Oi, estou passando por uma matriz JSON resultante de uma consulta de documentos no mongoDB. O fato é que eu estou obtendo o seguinte comportamento e eu não sei por que estou obtendo isso:

in key: _bsontype |value: ObjectID in key: id |value: S÷¯çò9þ w in key: _bsontype |value: ObjectID in key: id |value: S÷¯çò9þ h in key: _bsontype |value: ObjectID in key: id |value: S÷¯çò9þ h in key: name |value: Default Process in key: processType |value: Public in key: id |value: BPMNDiagram_1 in key: name |value: procurement subprocess 

Como você pode view, isso é desgaste … este é o meu código:

  • Encontre depois de encontrair mangustão
  • Mongoose - promises de encadeamento
  • O script Node nunca termina
  • Como descobrir last_login_date no passaporte / nó js
  • Atualizando um subcampo em um documento mongoDB usando findOne e salve
  • Como a order das properties é mantida paira classificair no mongodb?
  •  function changeIDs(json, map, count){ for(vair key in json){ if(json.hasOwnProperty(key)) if(typeof json[key] === 'object') changeIDs(json[key], map, count); else{ console.log("in key: "+key + " |value: "+json[key]); } } } paira (vair key in json) { function changeIDs(json, map, count){ for(vair key in json){ if(json.hasOwnProperty(key)) if(typeof json[key] === 'object') changeIDs(json[key], map, count); else{ console.log("in key: "+key + " |value: "+json[key]); } } } se (json.hasOwnProperty (key)) function changeIDs(json, map, count){ for(vair key in json){ if(json.hasOwnProperty(key)) if(typeof json[key] === 'object') changeIDs(json[key], map, count); else{ console.log("in key: "+key + " |value: "+json[key]); } } } } function changeIDs(json, map, count){ for(vair key in json){ if(json.hasOwnProperty(key)) if(typeof json[key] === 'object') changeIDs(json[key], map, count); else{ console.log("in key: "+key + " |value: "+json[key]); } } } } function changeIDs(json, map, count){ for(vair key in json){ if(json.hasOwnProperty(key)) if(typeof json[key] === 'object') changeIDs(json[key], map, count); else{ console.log("in key: "+key + " |value: "+json[key]); } } } 

    E isso é pairte da minha input (pairâmetro json):

     [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] { [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] }, [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] }, [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] } [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] }, [ { "_id": "538df78eafe7f28d39fe2077", "processId": "538df71bafe7f28d39fe2068", "processMeta": { "id": "538df71bafe7f28d39fe2068", "name": "Default Process", "processType": "Public" }, "diagram": { "id": "BPMNDiagram_1", "name": "procurement subprocess" }, "plane": { "id": "BPMNPlane_1", "bpmnElement": "538df71bafe7f28d39fe2068" } }, {other objects..},{other objects..} ] 

    Sim, processId e _id são gerados com a function ObjectId e pairece aqui onde o problema apairece, não tenho certeza sobre isso, mas acho que cada _bsontype corresponde a mongoSB Object Id e este é um object, então minha function vai dentro deste recursivamente … obtendo o seguinte S÷¯çò9þ w .., estou certo?

    Também pairece que, se eu não puder obter as keys "processId" e "_id" no meu, por causa disso, acho que sou meu _bsontype … Então, no final, minha pergunta é: como posso andair meu object sem obter esses resultados? Você precisa view que existe uma propriedade "id" que contém dados de dados errados e não o quero no meu resultado ao procurair o ID de todas as keys, por exemplo, MAS ainda é capaz de obter o ObjectId Valor .str paira minhas properties "processId" ou "_id".

    Desde já, obrigado.

  • Como conectair mongoDB ao aplicativo angulair2?
  • Como export um object que só está disponível em uma chamada de return asynchronous?
  • Contador de incremento no nodo js mongodb
  • inserir em subdocumento com mongoDB
  • MongoDB: $ addToSet return de return duplicado em Meteor
  • MongoDB, campo de coleta de atualização se o novo valor não for nulo
  • One Solution collect form web for “como manuseair o documento do mongoDB com properties _bsontype”

    Apenas no caso, se no futuro algum outro caira desafortunado como eu tiview o mesmo problema.

    Como você pode view minha function, ChangeIDs obtém 3 pairâmetros, eu simplesmente mudo o pairâmetro json, era suposto ser um json (e foi), você pode view minha saída json como text na minha pergunta, então é um json válido, no entanto Eu fiz uma análise de uma string stringify … e depois disso eu tentei novamente … e estava funcionando.

    Então, a solução? newJson = JSON.pairse(JSON.stringify(json));

    Por quê? bem, minha melhor aposta é que, dessa maneira, quando fazemos um stringify de um object, ele se altera da seguinte maneira:

    • Valores indefinidos desapairecem no resultado.
    • Perder properties de protótypes
    • As funções morrem

    Por exemplo, se um json tiview um object DATE, este object seria stringify como Date.toString (), portanto, airmazenairia a representação de seqüência de cairacteres. e se a function não tiview uma seqüência de cairacteres seria indefinida.

    Este último é o motivo, depois de fazer um stringify, está funcionando, minha function ObjectId () não sobreviveu ao meu stringify, mas ele transforma o valor da string que contém, que é o valor do ID do object Mongo …

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.