Base de datos MongoDB, equivalente para SELECCIONAR columna1, columna2 DE tbl

De mi MongoDB quiero que el equivalente para

  SELECT column1, column2
  FROM tbl

Con este código me sale todas las ‘filas’, sino también de todas las ‘columnas’

  DBCollection collection = database.getCollection("names");
  DBCursor cursor = collection.find();

Yo por ejemplo me gustaría todos ‘filas’ pero sólo las ‘columnas’: id, nombre, edad

¿Cómo puedo hacer esto?

Gracias por la ayuda!!

InformationsquelleAutor Marc Stevens | 2011-08-26

3 Kommentare

  1. 37

    db.de la colección.find({}, {_id: 1, nombre: 1, edad: 1})

    El primer argumento a encontrar (el predicado) es su criterio de selección, por ejemplo,

    db.de la colección.find({edad: {$gte: 21}})

    El segundo de los límites de los campos de recuperar, por lo que para los nombres de todos los mayores de 21 años:

    db.de la colección.find({edad: {$gte: 21}}, {nombre: 1})

    El selector de campo siempre tira hacia atrás de _id a menos que usted específicamente lo apague:

    db.de la colección.find({}, {_id: 0})

    Sin embargo, Mongo no verificación de campo para su existencia de forma predeterminada. Si desea seleccionar determinados campos, y el partido sólo los resultados que tienen los campos que desea utilizar:

    db.de la colección.find({ edad: { $existe: true } })

    La MongoDB sitio web tiene una descripción más detallada de la .encontrar ()!

  2. 1

    Gracias!, Me fijo con el código de abajo.

        BasicDBObject select = new BasicDBObject();
        select.put("id", 1);
        select.put("name", 1);
        select.put("age", 1);
        collection.find(new BasicDBObject(), select);

    Código de arriba me da todos los registros, con sólo los nombres de las columnas anteriores.

  3. 0

    Si desea seleccionar una o varias columnas como de la consulta SQL. por ejemplo
    si su consulta SQL como este

    select name, content from knowledgebase where applicationId='2955f3e174dce55190a87ed0e133adwdeb92';

    MongoDB consulta:

    db.knowledgebase.find({ "applicationId": "2955f3e174dce55190a87ed0e133adwdeb92"}, { "name": 1,    "content": 1});

Kommentieren Sie den Artikel

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

Pruebas en línea