我使用shell脚本查询MongoDB:
#!/bin/bash
mongoexport -d db -c collection -f Id
我有:
{ _id: ObjectId("641e883ec0a3fde195b59019"), Id: '12027311490' },
{ _id: ObjectId("641e8845c0a3fde195b5901b"), Id: '15400490185' },
{ _id: ObjectId("641e884dc0a3fde195b5901d"), Id: '775662862079' },
{ _id: ObjectId("641e8852c0a3fde195b5901f"), Id: '68236165355' },
{ _id: ObjectId("641e885ac0a3fde195b59021"), Id: '74174554856' },
{ _id: ObjectId("641e8861c0a3fde195b59023"), Id: '525514528629' },
{ _id: ObjectId("641e8868c0a3fde195b59025"), Id: '85838105070' },
[...]
如何在没有 mongodb id 的情况下正确解析 id 数字,并且没有周围的所有混乱?
预期产出:
12027311490
15400490185
775662862079
68236165355
74174554856
525514528629
85838105070
我知道我可以使用'grep'或'sed',但我搜索了一个合适的方法。
使用 mongoexport,输出格式为“csv”,只选择您想要的字段:
mongoexport -d "mydb" -c "collection" -f Id --type csv --noHeaderLine --quiet
找到解决方案:
$ mongoexport -d db -c collection -f Id --jsonArray | jq -r '.[] | .Id'