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

138
Visualizações
Incremento de lista doble de MongoDB

Tengo un objeto con una lista dentro de la cual hay otra lista y necesito una canalización con la que pueda incrementar el valor dentro de la segunda hoja.

Ejemplo de objeto:

 { "date":{"$date":"2022-0328T00:00:00.000Z"}, "department":"first", "test_id":0, "test":[{ "question_id":1, "answers":[{ "answer_id":1, "count":2 }] }, { "question_id":2, "answers":[{ "answer_id":3, "count":1 }] }] }

Traté de resolverlo de esta manera, pero no siempre funciona.

 feedback_filt = { 'date': feedback.date, 'department': feedback.department, 'test_id': feedback.test_id } question_filt = feedback_filt | {"test.question_id": {"$ne": question_id}} answer_filt = (feedback_filt | {"test.question_id": question_id} | {"test.answers.answer_id": {"$ne": answers_id}}) arr_question_filt = {"q.question_id": question_id} arr_answer_filt = {"a.answer_id": answers_id} self.__collection.update_one(feedback_filt, {"$setOnInsert": feedback.__getdict__()}, upsert=True) self.__collection.update_one(question_filt, {"$push": { "test": FeedbackTest(question_id, []).__getdict__()}}) self.__collection.update_one(answer_filt, {"$push": { "test.$.answers": FeedbackAnswer(answers_id, 0).__getdict__()}}) result = self.__collection.update_one(feedback_filt, {"$inc": {"test.$[q].answers.$[a].count": 1}}, array_filters=[arr_question_filt, arr_answer_filt], upsert=True) return bool(result and result.modified_count)
about 4 years ago · Juan Pablo Isaza
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