有如下表和文档:
集合:myTbls:
{ "_id" : 1,status:0, "item" : "ABC1", "description" : "product 1", colors: [ "blue", "black", "red" ] } { "_id" : 2,status:1, "item" : "ABC2", "description" : "product 2", colors: [ "purple" ] } { "_id" : 3,status:1, "item" : "XYZ1", "description" : "product 3", colors: [ ] }
如果想显示每条记录中数组的长度要怎么样才行呢?经过一番摸索,得到:
db.myTabls.aggregate([ {"$match":{"status":1,"colors": {$exists:true}} }, {"$project": { "_id":0, "item":1, "sizeOfColors": {"$size": "$colors"} } } ])