Tengo una colección de la siguiente forma en MongoDB.
Como se puede ver algunas documends tienen dos miembros de la «id» y el xid» y algunos tienen sólo 1 «id» (aparte de que el Objeto _id)

[
    {
        "id" : 1,
    },

    {
        "id" : 2,
    },

    {
       "id" : 3
       "xid": 300
    }
]

Quiero crear un mongoexport declaración que exporta a un archivo csv sólo los documentos con id Y xid con el valor de xid > 0

Actualmente tengo el siguiente comando:

mongoexport -h host -u user -p pass --db database --collection collections --csv --fields id,xid --query '{"xid":{"$ne":0}}' --out rec.csv

Sin embargo, esto también las exportaciones de los documentos que tienen un id sin un xid. Así que tengo algo así como

xid, id
12, 3
,4
14, 5
,3
,2
12, 5

etc.

Es allí una manera de exportar los documentos a los que sólo tienen tanto id y xid?

–consulta «{‘xid’:{‘$ne’:0}}» comillas dobles y fuera de las comillas simples dentro de stackoverflow.com/questions/21456714/…

OriginalEl autor ChrisGeo | 2014-01-30

6 Comentarios

  1. 7

    Puede utilizar las siguientes opciones para su consulta:

    { $and: [
        {xid: {$exists:true}},
        {xid:{$gt:0}}
        ]  
    }

    $y «realiza una operación lógica and en una matriz de dos o más expresiones (por ejemplo,, , etc.) y selecciona los documentos que satisfagan a todas las expresiones de la matriz.»

    $existe comprueba si el campo específico está presente en el documento.

    También, como se señaló por Vijay, en su descripción menciona que quiere xid > 0. Usted no debería estar usando $ne (no igual), pero $gt (mayor que).

    OriginalEl autor Jinxcat

  2. 11

    puede utilizar por debajo de comandos

    mongoexport -d database_name -c collection_name --csv --query { id:{$exist:true},xid:{$gt:0}}

    OriginalEl autor Darshan J

  3. 4

    Usted puede cambiar su consulta para

    --query {id: {$exists : true}, xid: {$gt : 0}}

    Esta por encima de consulta devolverá sólo los documentos que han de identificación de campo y tienen un valor de xid > 0. Así que si hay algún documento que sólo han campo id no xid, esos documentos no serán devueltos.

    OriginalEl autor Vicky

  4. 3

    mongoexport –db db_name –colección collection_name –consulta «{‘Nombre’:’Vijil’}» –file_name.json

    agregar un poco de explicación

    OriginalEl autor vijin selvaraj

  5. 1

    Desde el documento anterior parece que se trata de un conjunto de documentos, sino que u es el acceso al documento sin . la notación. Parece u son el acceso al documento erróneamente.

    Debería ser algo así como '{"key.xid":{"$ne":0}}'

    OriginalEl autor arunb2w

  6. 0

    Recordar como de 3.0.6 --csv etiqueta no es compatible, ahora en el fin de utilizar que el uso --type=csv

    A continuación es la consulta que se lleva a MongoExport en la base de datos db_name y de la colección de collection_name, Recuerde especificar los nombres de campo también(los campos que desee agregar en el archivo csv).

    sudo mongoexport -d db_name -c collection_name --type=csv --query='{field1:{$gt:2}}' -f "field1,field2" --sort='{field1:-1}' -u 'username' -p 'passwd' --authenticationDatabase=admin --out dir/file.csv

    OriginalEl autor Sudhanshu Gaur

Dejar respuesta

Please enter your comment!
Please enter your name here