cyt*_*nny 4 mapreduce mongodb mongodb-query aggregation-framework
我有以下对象MongoDB:
[
{
"name": "pencil",
"purchase_record": {
"1":"$900",
"2":"$1000",
"3":"$1100",
"4":"$1200"
}
},
{
"name": "pen",
"purchase_record": {
"1":"$1000",
"2":"$1200",
"3":"$900",
"4":"$1100",
"5":"$1100"
}
}
]
Run Code Online (Sandbox Code Playgroud)
purchase_record有没有办法获得每条记录的长度?
这是一个老问题,但答案很简单$objectToArray,可以从 MongoDB 版本 3.4.4 获得
你可以这样做;
db.collection.aggregate([
{
$project: {
_id: 0,
name: 1,
purchaseCount: {
$size: {
"$objectToArray": "$purchase_record"
}
}
}
}
])
Run Code Online (Sandbox Code Playgroud)
这将给出 中的字段数purchase_record,结果将是;
[
{
"name": "pencil",
"purchaseCount": 4
},
{
"name": "pen",
"purchaseCount": 5
}
]
Run Code Online (Sandbox Code Playgroud)
在mongoplayground上以交互方式查看
| 归档时间: |
|
| 查看次数: |
6367 次 |
| 最近记录: |