首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询Mongoexport

查询Mongoexport
EN

Stack Overflow用户
提问于 2016-10-07 21:12:40
回答 4查看 6.3K关注 0票数 1

我想根据查询导出集合投影,用于执行mongoexport的语法是:

代码语言:javascript
复制
./mongoexport -d myDB -c myCollection -q "myQuery" -o output.json

我尝试在mongo中使用这个过滤器,但是不能正确地格式化它,所以表示“myQuery”是合法的:

代码语言:javascript
复制
{
  'run.session.game._id':'gameId1',
  'run.session.device._id':{$in:['value1','value2']},
  'createdAt':{
      $gte:ISODate('2016-06-05T15:14:22.163Z'),
      $lte:ISODate('2017-06-05T15:14:22.163Z')
   }
}

如果我只有第一个过滤器,它就能工作,但是当我输入设备id的第2行时,我就会得到一个错误。错误消息如下所示:

代码语言:javascript
复制
2016-10-07T22:54:02.333+0200    
error validating settings: query '[123 39 114 117 110 46 115 101 115 
115 105 111 110 46 103 97 109 101 46 95 105 100 39 32 58 32 39 90 71 
120 88 109 104 100 66 69 83 39 44 39 114 117 110 46 115 101 115 115 105 
111 110 46 100 101 118 105 99 101 46 95 105 100 39 58 123 58 91 79 98 
106 101 99 116 73 100 40 39 101 104 55 73 77 117 112 107 52 112 39 41 
93 125 125]' is not valid JSON: invalid character ':' looking for 
beginning of object key string 
2016-10-07T22:54:02.333+0200 try 'mongoexport --help' for more
information

请帮助:(我知道查询必须采用严格的JSON格式,但我不知道如何转换它.

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-10-08 01:16:38

来自蒙古出口文档

您必须将查询用单引号括起来(例如')以确保它不与您的shell环境交互。

所以,试着用这种方式切换你的"'

代码语言:javascript
复制
./mongoexport -d myDB -c myCollection -q '{
  "run.session.game._id":"gameId1",
  "run.session.device._id":{$in:["value1","value2"]},
  "createdAt":{
      $gte:ISODate("2016-06-05T15:14:22.163Z"),
      $lte:ISODate("2017-06-05T15:14:22.163Z")
   }
}' -o output.json
票数 4
EN

Stack Overflow用户

发布于 2018-12-18 08:34:51

在我的例子中,它是通过在内部查询中使用单引号(‘)来解析的,并将整个查询用双引号(“)括起来,如

代码语言:javascript
复制
./mongoexport -d myDB -c myCollection --query "{'run.session.game._id':'gameId1','run.session.device._id':{$in:['value1','value2']},'createdAt':{$gte:ISODate('2016-06-05T15:14:22.163Z'),$lte:ISODate('2017-06-05T15:14:22.163Z')}}" -o output.json
票数 1
EN

Stack Overflow用户

发布于 2020-10-20 17:23:54

我在字符串之前使用了\

代码语言:javascript
复制
mongoexport --db=database --collection=test --query="{ \ "Timestamp\": {  \ "$gte \ ":  \ "2014-01-01T00:00:00 \ ",  \ "$lt \ ":  \ "2020-10-20T00:00:00 \ "}}" --type=csv --fields=Timestamp --out=C:\Users\Documents\test.csv
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39925880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档