Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

355
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda