MongoExport:你能查询一个字段吗?
MongoExport: Can you query a field?
我目前正在研究使用 Mongo 数据库的解决方案。
我们必须为此使用 MongoExport。
有没有办法增强我的 MongoExport 命令以在字段上包含过滤器?
例如:
-q:"{"Status": "COMPLETE"}"
-f:Id,EanCode,Channels:{"$elemMatch":{"ChannelId":"Test"}
更新:
再次您好,根据评论中的建议,我添加了示例文档。
文件:
{
"Id": "1"
"Status": "COMPLETE",
"EanCode": "1234567890",
"Barcode": "100100100",
"Name": "Test Product",
"Channels": [
{
"ChannelId": "Test"
},
{
"ChannelId": "Dumbeldore"
}
]
}
结果:
{
"Id": "1"
"Status": "COMPLETE",
"EanCode": "1234567890",
"Channels": [
{
"ChannelId": "Test"
}
]
}
我可以使用您建议的任何工具,可能 space 从 Mongo 导出。
但重要的是,它必须被优化并导出 JSON 个对象。
感谢您的关注和帮助:)
选项 1.
我认为您不能直接使用 mongoexport,但可以通过聚合来完成:
echo 'db.test.aggregate([{$match:{Status:"COMPLETE","Channels.ChannelId":"Test"} },{$addFields:{Channels:{ $filter: { input: "$Channels", as: "ch", cond: {$eq:["$$ch.ChannelId","Test"] } } }} } ])' | mongo --authenticationDatabase admin --port 27017 -u test -p xxxx --quiet > out.json
选项 2:
您通过 $out 从聚合输出到输出集合,然后 mongoexport。
我目前正在研究使用 Mongo 数据库的解决方案。 我们必须为此使用 MongoExport。 有没有办法增强我的 MongoExport 命令以在字段上包含过滤器?
例如:
-q:"{"Status": "COMPLETE"}"
-f:Id,EanCode,Channels:{"$elemMatch":{"ChannelId":"Test"}
更新: 再次您好,根据评论中的建议,我添加了示例文档。
文件:
{
"Id": "1"
"Status": "COMPLETE",
"EanCode": "1234567890",
"Barcode": "100100100",
"Name": "Test Product",
"Channels": [
{
"ChannelId": "Test"
},
{
"ChannelId": "Dumbeldore"
}
]
}
结果:
{
"Id": "1"
"Status": "COMPLETE",
"EanCode": "1234567890",
"Channels": [
{
"ChannelId": "Test"
}
]
}
我可以使用您建议的任何工具,可能 space 从 Mongo 导出。 但重要的是,它必须被优化并导出 JSON 个对象。
感谢您的关注和帮助:)
选项 1. 我认为您不能直接使用 mongoexport,但可以通过聚合来完成:
echo 'db.test.aggregate([{$match:{Status:"COMPLETE","Channels.ChannelId":"Test"} },{$addFields:{Channels:{ $filter: { input: "$Channels", as: "ch", cond: {$eq:["$$ch.ChannelId","Test"] } } }} } ])' | mongo --authenticationDatabase admin --port 27017 -u test -p xxxx --quiet > out.json
选项 2: 您通过 $out 从聚合输出到输出集合,然后 mongoexport。