【发布时间】:2018-12-13 20:19:53
【问题描述】:
我想深入了解 MongoDB JSON 文档中的所有路径,并可能使用 jq 修改每个字段名称(mongo shell 似乎无法做到这一点。)。具体来说,我想删除除“_id”之外的所有字段名称中的所有下划线(“_”)。我尝试了recurse 和with_entries 的各种组合,但没有成功。所以,例如,转换这个:
{
"_id": "doc1",
"field_11": "value_11",
"field_12": {
"field_121": {
"field_1211": "value_1211",
"field_1212": "value_1212"
},
"field_122": {
"field_1221": "value_1221",
"field_1222": "value_1222"
}
},
"field_13": [
{
"field_131": {
"field_1311": "value_1311",
"field_1312": "value_1312"
},
"field_132": {
"field_1321": "value_1321",
"field_1322": "value_1322"
}
}
],
"field_one_four": "value_one_four",
"Field_One_Five": "Value_One_Five"
}
到这里:
{
"_id": "doc1",
"field11": "value_11",
"field12": {
"field121": {
"field1211": "value_1211",
"field1212": "value_1212"
},
"field122": {
"field1221": "value_1221",
"field1222": "value_1222"
}
},
"field13": [
{
"field131": {
"field1311": "value_1311",
"field1312": "value_1312"
},
"field132": {
"field1321": "value_1321",
"field1322": "value_1322"
}
}
],
"fieldonefour": "value_one_four",
"FieldOneFive": "Value_One_Five"
}
奖励:如果我想删除下划线和将复合字段名称转换为驼峰式怎么办?即,"field_one_four" 将变为 "fieldOneFour","Field_One_Five" 将变为 "fieldOneFive"。
【问题讨论】:
标签: key edit jq recursive-descent