【问题标题】:MongoDB mongoexport queryMongoDB mongoexport 查询
【发布时间】:2014-02-22 20:31:05
【问题描述】:

我在 MongoDB 中有以下表单的集合。 如您所见,有些文档有两个成员“id”和“xid”,有些只有1个“id”(除了对象_id)

[
    {
        "id" : 1,
    },

    {
        "id" : 2,
    },

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

我想创建一个 mongoexport 语句,该语句仅导出到 csv 文档,其中 id 和 xid 的值 xid > 0

我目前有以下命令:

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

但是,这也会导出具有 id 而没有 xid 的文档。所以我得到类似的东西

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

等等

有没有办法导出只有 id 和 xid 的文档?

【问题讨论】:

标签: mongodb mongodb-query


【解决方案1】:

从上面给出的文档来看,它似乎是一个文档数组,但您访问的文档没有 .符号。看来您访问文档有误。

应该类似于'{"key.xid":{"$ne":0}}'

【讨论】:

    【解决方案2】:

    您可以使用以下内容作为查询:

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

    $and "对包含两个或多个表达式(例如 , 等)的数组执行逻辑与运算,并选择满足数组中所有表达式的文档。”

    $exists 检查文档中是否存在特定字段。

    此外,正如 Vijay 所指出的,在您的描述中,您提到您希望 xid > 0。您不应该使用 $ne(不等于),而应该使用 $gt(大于)。

    【讨论】:

      【解决方案3】:

      您可以将查询更改为

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

      上面的查询将只返回那些具有id字段且xid值> 0的文档。因此,如果有任何文档只有id字段而不是xid,则不会返回这些文档。

      【讨论】:

        【解决方案4】:

        您可以使用以下命令

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

        【讨论】:

          【解决方案5】:

          mongoexport --db db_name --collection collection_name --query "{'Name':'Vijil'}" --out file_name.json

          【讨论】:

          • 添加一些解释
          【解决方案6】:

          记住3.0.6--csv标签不支持,现在为了使用--type=csv

          下面是在数据库 db_name 和集合 collection_name 上使用 MongoExport 的查询,请记住还要指定字段名称(您要在 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
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-08-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多