'mongodb':如何在shell脚本中从对象中检索值

44u64gxh  于 2023-03-30  发布在  Shell
关注(0)|答案(2)|浏览(89)

我使用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',但我会寻找合适的方法。

knpiaxh1

knpiaxh11#

使用mongoexport,输出格式为'csv',只选择你想要的字段:

mongoexport -d "mydb" -c "collection" -f Id --type csv --noHeaderLine --quiet
djp7away

djp7away2#

找到了解决方案:

$ mongoexport -d db -c collection -f Id --jsonArray | jq -r '.[] | .Id'

相关问题