Obtener todos los documentos de una colección utilizando Pymongo

Quiero escribir una función para devolver todos los documentos contenidos en mycollection en mongodb

from pymongo import MongoClient

if __name__ == '__main__':
    client = MongoClient("localhost", 27017, maxPoolSize=50)
    db=client.mydatabase
    collection=db['mycollection']
    cursor = collection.find({})
    for document in cursor:
        print(document)

Sin embargo, la función devuelve: Process finished with exit code 0

  • ¿has probado sin los apoyos en el método de búsqueda? trate de cursor = db.mycollection.find()
  • el mismo resultado : el Proceso ha terminado con código de salida 0
  • Ok, ¿cómo estás ejecutando este script? (También por favor, ajuste la altura de la muesca)
  • Estoy usando Pycharm 2.0.3
  • Ok este es un pycharm uso específico del problema, ya que su código está bien. También comprobar que ejecutar directamente el script como el principal, ya que tiene _nombre_ == ‘_main_’ en el código, pruebe a usar una consola para comprobar la conectividad con la base de datos.
  • He comprobado la conectividad y ACEPTAR. Por LO tanto, podría imprimir todos los de la colección de mi base de datos
  • Sí, usted puede imprimir todos los documentos de la colección.
  • cómo puedo hacer esto? Devuelve el mismo resultado : el Proceso ha terminado con código de salida 0
  • He probado el mismo código de OP publicado en mi máquina Linux con diferentes db y de colección. Funcionó bien para mí.

InformationsquelleAutor MAYA | 2016-06-21

3 Kommentare

  1. 55

    Aquí está el código de ejemplo que funciona bien cuando se ejecuta desde el símbolo del sistema.

    from pymongo import MongoClient
    
    if __name__ == '__main__':
        client = MongoClient("localhost", 27017, maxPoolSize=50)
        db = client.localhost
        collection = db['chain']
        cursor = collection.find({})
        for document in cursor:
              print(document)

    Por favor, compruebe el nombre de la colección.

    • Es lo mismo lo que hice
    • He copiado el código anterior para confirmar que no hay ningún problema en el código. Es algo que ver con el entorno local. También, he mencionado que funciona bien desde el símbolo del sistema.
    • Yo entiendo. Por último, funciona, El problema era en el nombre de la colección Gracias
    • ¿Por qué son json y pymongo importados para este mínimo reproducible ejemplo?
  2. 6

    pymongo crea un cursor. Por lo tanto, usted conseguirá el objeto ‘bajo’ el cursor. Para obtener todos los objetos en general, intenta:

    list(db.collection.find({}))

    Esto hará que el cursor para iterar sobre cada objeto y lo puso en una lista()

    Divertirse…

  3. 5

    Creo que esto va a funcionar bien en su programa.

    cursor = db.mycollection # choosing the collection you need
    
    for document in cursor.find():
        print (document)
    • Gracias. Resolver mi problema

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea