Mongo 将查询导出到 json 数组中 json 对象中的特定字段
Mongo export query to project only specific field in the json object within json array
我需要仅投影 json 数组中 json 对象中的特定字段。假设我有一个包含许多文档的集合,如下所示
{
"_id" : Object("sddf3r"),
"item_id" : "1235",
"outerObj" : [{
"fieldA" : "valueA",
"fieldB" : "valueB",
"created_at" : "2019-07-10T14:25:30.000Z"
}]
}
现在我想将字段 item_id、outerObj.created_at 导出为 csv,我使用下面的查询
mongoexport --host="localhost:27017" -d testdb -c items --query '{"item_id" : {$in :["1235"]}}' --csv -f item_id,outerObj.created_at --out output.csv
但这会导致打印整个 outerObj。
我应该如何修改查询以仅导出 outerObj 中的字段 created_at?
如果您对仅从 outerObj 数组中导出第一项感到满意,您可以在字段列表中使用索引:
mongoexport \
--host="localhost:27017" \
-d testdb \
-c items \
--query '{"item_id" : {$in :["1235"]}}' \
--csv \
-f item_id,outerObj.0.created_at \
--out output.csv
我需要仅投影 json 数组中 json 对象中的特定字段。假设我有一个包含许多文档的集合,如下所示
{
"_id" : Object("sddf3r"),
"item_id" : "1235",
"outerObj" : [{
"fieldA" : "valueA",
"fieldB" : "valueB",
"created_at" : "2019-07-10T14:25:30.000Z"
}]
}
现在我想将字段 item_id、outerObj.created_at 导出为 csv,我使用下面的查询
mongoexport --host="localhost:27017" -d testdb -c items --query '{"item_id" : {$in :["1235"]}}' --csv -f item_id,outerObj.created_at --out output.csv
但这会导致打印整个 outerObj。
我应该如何修改查询以仅导出 outerObj 中的字段 created_at?
如果您对仅从 outerObj 数组中导出第一项感到满意,您可以在字段列表中使用索引:
mongoexport \
--host="localhost:27017" \
-d testdb \
-c items \
--query '{"item_id" : {$in :["1235"]}}' \
--csv \
-f item_id,outerObj.0.created_at \
--out output.csv