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

Mongodump查询错误
EN

Stack Overflow用户
提问于 2015-04-06 06:38:43
回答 1查看 1.6K关注 0票数 0
代码语言:javascript
复制
mongodump --username user --password password --db db --collection collection --query '{$and: [{"id": "ABCD"}, {"sz": {$gt: NumberLong(100)}}]}' --out dump

执行时,mongodump抱怨:

代码语言:javascript
复制
assertion: 16619 code FailedToParse: FailedToParse: Bad characters in value: offset:63

如果我避开$and$gt子句:

代码语言:javascript
复制
mongodump --username user --password password --db db --collection collection --query '{\$and: [{"id": "ABCD"}, {"sz": {\$gt: NumberLong(100)}}]}' --out dump

相反,它会抱怨

代码语言:javascript
复制
assertion: 16619 code FailedToParse: FailedToParse: First character in field must be [A-Za-z$_]: offset:1

这个查询在mongodb shell上成功运行,我不明白为什么不能将它作为--query参数在mongodump中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-06 07:30:51

在我看来,您的$and子句是不必要的。{a: 'a', b: 'b'}$and : [{a: 'a'}, {b: 'b'}]是一样的。

您也不需要使用"id",您只需编写id,同样适用于NumberLong

因此,我会将其重写为... --query '{id: "ABCD", sz: {$gt: 100}}' --out dump,它可以工作(如果您在单引号中,则不要转义$)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29466550

复制
相关文章

相似问题

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