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
Consulta en MongoDB (Pymongo) con el operador $in usando con ObjectId

Tengo una lista de ID y quiero consultar una colección basada en esa lista. El campo que estoy filtrando es id_ , es un ObjectID .

Ejemplo:

list = ['abcd','mnop','qrst']

Quiero buscar documentos que el _id está en esa lista:

 cursor = db.find( {"_id": { "$in": list} } ) cursor = db.find( {"_id": { "$in": ObjectId(list)} } )

Probé las dos opciones anteriores y ninguna funcionó. El primero devolvió vacío y el segundo arroja un error de tipo: TypeError: id must be an instance of (bytes, str, ObjectId), not <class 'list'>

¿Cómo puedo corregir mi código?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como dijo @prasad_, es necesario generar el ObjectId de la cadena.

 list_ = ['abcd','mnop','qrst'] list_ = [ObjectId(x) for x in list_] cursor = db.find( {"_id": { "$in": list_} } )

Entonces, el operador "$in" de MongoDB se refiere a la lista que tiene ObjectId como contenido.

over 4 years ago · Santiago Trujillo 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