sách gpt4 ai đã đi

mongoexport - Sự cố truy vấn JSON (JSON mở rộng - Đầu vào JSON không hợp lệ)

In lại 作者:行者123 更新时间:2023-12-03 23:28:03 28 4
mua khóa gpt4 Nike

最近开始学习MongoDB。今天老师教了我们 mongoexport 命令。在练习时,我遇到了一个典型的问题,包括教练在内的其他同学都没有遇到过。我在我的 Windows 10 机器上使用 MongoDB 版本 4.2.0 .

如果我在没有任何 -q 参数的情况下为我的集合使用 mongoexport 来指定任何过滤条件,它工作正常。

mongoexport -d trainingdb -c employee -f empId,name,designation -o \mongoexport\all-employees.json

2019-09-17T18:00:30.300+0530 connected to: mongodb://localhost/
2019-09-17T18:00:30.314+0530 exported 3 records

但是,每当我将 JSON 查询指定为 -q(或 --query)时,它都会给出如下错误。
mongoexport -d trainingdb -c employee -f empId,name,designation -q {'designation':'Developer'} -o \mongoexport\developers.json

2019-09-17T18:01:45.381+0530 connected to: mongodb://localhost/
2019-09-17T18:01:45.390+0530 Failed: error parsing query as Extended JSON: invalid JSON input

在我为查询尝试的所有不同风格中,同样的错误仍然存在。
-q {'designation':'Developer'}
--query {'designation':'Developer'}
-q "{'designation':'Developer'}"

我什至尝试在 'empId' 上使用不同的查询条件作为 -q {'empId':'1001'} 但没有运气。我不断收到同样的错误。

theo one of the suggestions given in the StackOverflow website ,我尝试了以下选项,但遇到了不同的错误。
  -q '{"designation":"Developer"}'

错误是:'query '[39 123 101 109 112 73 100 58 49 48 48 49 125 39]' 不是有效的 JSON:json:无法将字符串解码为 map[string]interface {} 类型的 Go 值。
2019-09-17T20:24:58.878+0530 query '[39 123 101 109 112 73 100 58 49 48 48 49 125 39]' is not valid JSON: json: cannot unmarshal string into Go value of type map[string]interface {}
2019-09-17T20:24:58.882+0530 try 'mongoexport --help' for more information

我真的不确定这里缺少什么?尝试了一些谷歌搜索并通过了官方的 MongoDB documentation of the mongoexport - 但没有运气。

我的系统中的员工集合如下所示,包含 3 个文档。
> db.employee.find().pretty()
{
"_id" : ObjectId("5d80d1ae0d4d526a42fd95ad"),
"empId" : 1001,
"name" : "Raghavan",
"designation" : "Developer"
}
{
"_id" : ObjectId("5d80d1b20d4d526a42fd95ae"),
"empId" : 1002,
"name" : "Kannan",
"designation" : "Architect"
}
{
"_id" : ObjectId("5d80d1b40d4d526a42fd95af"),
"empId" : 1003,
"name" : "Sathish",
"designation" : "Developer"
}
>

làm mới

正如@NikosM 所建议的,我已将查询保存在 .json 文件( query.json )中,并使用新方法尝试了相同的 mongoexport 命令。尽管如此,还是没有运气。同样的编码(marshal)错误。
cat query.json
{"designation":"Developer"}

mongoexport -d trainingdb -c employee -f empId,name,designation -q 'query.json' -o \mongoexport\developers.json

2019-09-17T21:16:32.849+0530 query '[39 113 117 101 114 121 46 106 115 111 110 39]' is not valid JSON: json: cannot unmarshal string into Go value of type map[string]interface {}
2019-09-17T21:16:32.852+0530 try 'mongoexport --help' for more information

对此的任何帮助将不胜感激。

1 Câu trả lời

以下不同的方法使其最终起作用 - 我已经使用反斜杠转义的双引号指定了 JSON 查询:-q "{ \"designation\":\"Developer\" }"。

mongoexport -d trainingdb -c employee -f empId,name,designation -q "{\"designation\":\"Developer\"}" -o \mongoexport\developers.json
2019-09-17T21:33:01.642+0530 connected to: mongodb://localhost/
2019-09-17T21:33:01.658+0530 exported 2 records

cat developers.json
{"_id":{"$oid":"5d80d1ae0d4d526a42fd95ad"},"empId":1001.0,"name":"Raghavan","designation":"Developer"}
{"_id":{"$oid":"5d80d1b40d4d526a42fd95af"},"empId":1003.0,"name":"Sathish","designation":"Developer"}

非常感谢@Caconde。你的建议有帮助。

但我真的不确定为什么这不能单独在我的机器上工作,以及在查询格式中进行这种调整的原因。

关于json - mongoexport - JSON 查询问题(扩展 JSON - JSON 输入无效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57977309/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com