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"
}
]
}

我可以使用你建议的任何工具,可能会从MongoExport中挤出空间。但重要的是,它必须进行优化并导出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

操场1

选项2:通过$out将聚合输出到输出集合,然后再进行mongoexport。

操场2

最新更新