【发布时间】:2016-02-26 18:25:14
【问题描述】:
我正在尝试为我的集合中的所有文件投影 FileName 和 FileSize,大小为 50 mb 或更大,但我无法连接类型 FileSize,因为它的类型为 Int
我希望投影是
{
"result" : [
{
"_id" : ObjectId("5652c399a21dad0bb01b6308"),
"FileName" : "1234567890.xml",
"FileSize" : "11.06 MB"
},
{
"_id" : ObjectId("5652c399a21dad0bb01b630f"),
"FileName" : "2468101214.xml",
"FileSize" : "320.48 MB"
},
{
"_id" : ObjectId("5652c399a21dad0bb01b631f"),
"FileName" : "3691215180.xml",
"FileSize" : "12.95 MB"
}
}
但到目前为止我只能返回以下内容
{
"result" : [
{
"_id" : ObjectId("5652c399a21dad0bb01b6308"),
"FileName" : "1234567890.xml",
"FileSize" : 11.0610504150390630
},
{
"_id" : ObjectId("5652c399a21dad0bb01b630f"),
"FileName" : "2468101214.xml",
"FileSize" : 320.4827098846435500
},
{
"_id" : ObjectId("5652c399a21dad0bb01b631f"),
"FileName" : "3691215180.xml",
"FileSize" : 12.9519605636596680
}
}
我的查询:
db.MyCollection.aggregate(
// Pipeline
[
// Stage 1
{
$match: {
FileSize: {$gte: 5000000}
}
},
// Stage 2
{
$project: {
FileName: 1,
FileSize: {$divide: ["$FileSize", 1048576]}
}
},
// Stage 3
{
$project:{
FileName:1,
FileSize:{$concat:["$FileSize", "MB"]}
}
}
如何连接 FileSize 和“MB”字段?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework