Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

362
Visualizações
Crear ID únicos para algunos elementos en el documento - Mongoose

Estoy creando un documento con mangosta y no puedo encontrar una forma de crear ID únicos para algunos elementos del documento.

Para un ejemplo:

 Document { _id: ObjectId(...), title: "Post Title", comments: [ { NEEDED_ID: 1, value: "abc"},{ NEEDED_ID: 2, value: "abc"} ], input: { isInput: true, NEEDED_ID: 3, } }

Espero que puedas ayudarme con eso.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

si necesita una identificación que aumente automáticamente, verifique el incremento automático en mongoDB: https://www.mongodb.com/basics/mongodb-auto-increment

ejemplo de los documentos de mongoDB anteriores con Atlas:

 // create collections db.createCollection("students"); db.createCollection("counters"); // create trigger exports = async function(changeEvent) { var docId = changeEvent.fullDocument._id; const countercollection = context.services.get("<ATLAS-CLUSTER>").db(changeEvent.ns.db).collection("counters"); const studentcollection = context.services.get("<ATLAS-CLUSTER>").db(changeEvent.ns.db).collection(changeEvent.ns.coll); var counter = await countercollection.findOneAndUpdate({_id: changeEvent.ns },{ $inc: { seq_value: 1 }}, { returnNewDocument: true, upsert : true}); var updateRes = await studentcollection.updateOne({_id : docId},{ $set : {studentId : counter.seq_value}}); console.log(`Updated ${JSON.stringify(changeEvent.ns)} with counter ${counter.seq_value} result : ${JSON.stringify(updateRes)}`); }; // Replace <ATLAS-CLUSTER> with your cluster service name. db.students.insert({ "name":"Jhon Doe" }); db.students.insert({ "name":"David Smith" }); db.students.insert({ "name":"Amanda Herny" }); // get students from atlas db.students.find().pretty();

si necesita crear una identificación aleatoria en el nodo, puede usar el paquete crypto .

Opción 1:

 const crypto = require("crypto"); // create id const _id = crypto.randomBytes(16).toString("hex"); // '4a82db25ba403269c009db0129a032f3'

Opcion 2:

 const { randomUUID } = require("crypto"); const uuid = randomUUID() // 'e92b8088-7fd2-40fd-ad87-2c16cbedfc94'

EDITAR: con respecto a su comentario, randomUUID() definitivamente genera una identificación única cada vez. Vuelva a verificar su implementación si no funciona para usted. Puede probar la generación de uuid en un script de demostración como este:

 const { randomUUID } = require("crypto"); numberOfIds = 5; // generate five unique id's for (let i = 0; i < numberOfIds; i++) { const uuid = randomUUID(); console.log(uuid); // prints 5 id's // f0151ff5-2656-400f-b4e6-c5549324f8f9 // a8223ae3-6259-4114-951b-8c12c3d932bf // 3a0404fd-6f5a-40d3-9726-c549f6d62ab4 // 35178ac4-62d5-4654-938e-0ffac378751a // 458bf08f-07d2-4849-bf67-6f328ff93109 }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda