vì vậy tôi có một loạt các văn bản đơn giản nhưMongoDB tổng kích thước của các lĩnh vực mảng
{
"foos": [
ObjectId("5105862f2b5e30877c685c58"),
ObjectId("5105862f2b5e30877c685c57"),
ObjectId("5105862f2b5e30877c685c56"),
],
"typ": "Organisation",
}
và tôi muốn tìm hiểu kích thước tổng thể của liên foos
các văn bản của kiểu "Tổ chức"
nên tôi có điều này truy vấn tổng hợp
db.profil.aggregate(
[
{
$match:{
"typ":"Organisation"
}
},
{
$project: {
fooos: { $size: "$foos" }
}
}
]
)
này trả về số lượng của tất cả các foos cho mỗi tài liệu
thích:
{ "_id" : ObjectId("50e577602b5e05e74b38a6c8"), "foooos" : 1 }
{ "_id" : ObjectId("51922170975a09f363e3eef5"), "foooos" : 3 }
{ "_id" : ObjectId("51922170975a09f363e3eef8"), "foooos" : 2 }
{ "_id" : ObjectId("5175441d975ae346a3a8dff2"), "foooos" : 0 }
{ "_id" : ObjectId("5192216f975a09f363e3eee9"), "foooos" : 2 }
{ "_id" : ObjectId("5192216f975a09f363e3eeeb"), "foooos" : 3 }
{ "_id" : ObjectId("5192216f975a09f363e3eee4"), "foooos" : 2 }
{ "_id" : ObjectId("5192216f975a09f363e3eee6"), "foooos" : 2 }
{ "_id" : ObjectId("5192216f975a09f363e3eedb"), "foooos" : 2 }
{ "_id" : ObjectId("51922174975a09f363e3ef4a"), "foooos" : 1 }
{ "_id" : ObjectId("5192216f975a09f363e3eee1"), "foooos" : 1 }
{ "_id" : ObjectId("5192216e975a09f363e3eed7"), "foooos" : 2 }
{ "_id" : ObjectId("5192216f975a09f363e3eeee"), "foooos" : 3 }
là có một số truy vấn sẽ trả lại số tóm tắt cho foos của tất cả các tài liệu?
i chơi arround với $ tiền nhưng không biết làm thế nào để kết hợp với truy vấn của tôi, tôi chỉ làm được lỗi cú pháp, nó sẽ được mát mẻ để biết nếu điều này là có thể
Xin lưu ý rằng trường '_id' là không cần thiết. –
@MarkusWMahlberg Cảm ơn bạn đã lưu ý điều đó. – chridam
wow, cảm ơn rất nhiều nó hoạt động như một charme! tôi cần phải bao gồm '" foos ": {$ ne: null}' vào truy vấn đối sánh $ để đặt nó vào công việc –