如何解决具有查找和管道查询的MongoDB聚合速度很慢
我有两个收藏夹。
1:第一个集合名为 OtherSubclinicalResult ,其结构如下:
{
"_id" : ObjectId("5f8ebf2a320efd7cd6df7b2d"),"mahh" : NumberLong(2),"mathanhtoan" : NumberLong(0),"dong" : NumberLong(0),"cot" : NumberLong(0),"noidung" : "KẾT QUẢ","mreadonLy" : true,"mforecolor" : "[0][0][0]","mbackcolor" : "[255][255][255]","mfont" : "[Times New Roman][11][Regular]","ct" : NumberLong(10000),"mauketqua" : "Siêu âm 4D","mcolmer" : NumberLong(6),"mtextalign" : NumberLong(32),"mketluan" : false,"is_deleted" : false
}
2:第二个集合名为 SubclinicalResult ,其结构如下:
{
"_id" : ObjectId("5f8ed12a320efd7cd6e8447d"),"mahh" : NumberLong(177),"mathanhtoan" : NumberLong(3),"macs" : NumberLong(14),"makcb" : "2000000002","barcode" : "010620-0002","manvlam" : NumberLong(2),"maktvlam" : NumberLong(4),"daduyet" : true,"ngaylam" : ISODate("2020-06-01T04:03:00.000Z"),"ngaykhopBC" : ISODate("2020-06-01T01:27:00.000Z"),"ngaytraKQ" : ISODate("2020-06-01T04:03:00.000Z"),"ailam" : "4/*/01/06/2020/*/11:04/*/xetnghiem/*/Xét nghiệm/*/ADMIN/*/ | 192.168.1.11 | ","aikhop" : "4/*/01/06/2020/*/08:28/*/xetnghiem/*/Xét nghiệm/*/ADMIN/*/ | 192.168.1.11 | ","ketluan" : "1","duyetkq" : false,"ct" : NumberLong(2006),"ngoaigio" : false,"mathanhtoanct" : NumberLong(4),"dain" : true,"is_deleted" : false
}
我想在两个集合之间联接,条件是这两个表之间的“ mahh”和“ mathanhtoan”是等效的。这是我的工作。
db.OtherSubclinicalResult.aggregate([
{
"$match": {
mathanhtoan: Number(2533)
}
},{
"$lookup":
{
"from": "SubclinicalResult","let": {
"sCode": "$mahh","payCode": "$mathanhtoan"
},"pipeline": [
{
"$match": {
"$expr": {
"$and":
[
{"$eq": [ "$mahh","$$sCode"]},{"$eq": [ "$mathanhtoan","$$payCode"]},]
}
}
}
],"as": "SubclinicalResult"
}
},]).pretty();
以下是一条记录的结果。
{
"_id" : ObjectId("5f8ec015320efd7cd6e2e8bf"),"mathanhtoan" : NumberLong(2533),"ct" : NumberLong(2008),"mtextalign" : NumberLong(16),"is_deleted" : false,"SubclinicalResult" : [
{
"_id" : ObjectId("5f8ed152320efd7cd6e89214"),"macs" : NumberLong(0),"makcb" : "2000002564","InstrumentID" : "7","manvlam" : NumberLong(12),"maktvlam" : NumberLong(5),"ngaylam" : ISODate("2020-08-24T00:45:00.000Z"),"ailam" : "10/*/24/08/2020/*/07:55/*/tthai/*/Trịnh Thị Hải/*/CP28DQITQALNDK1/*/ | 192.168.1.12 | ","ketluan" : "Hiện tại siêu âm thai tương đương 35 tuần 03 ngày,chưa phát hiện dấu hiệu bất thường về hình thái ở tuổi thai này\r\nDự kiến sinh: 25 / 09 / 2020 ( Dương lịch)","docketqua" : "- Tử cung: \r\n \u001cTư thế trung gian.\r\n Kích thước bình thường.\r\n Âm vang cơ tử cung đồng nhất.\r\n Niêm mạc mm\r\n Buồng tử cung không thấy âm vang gì bất thường.\r\n- Phần phụ phải: Không thấy gì bất thường\r\n- Phần phụ trái: Không thấy gì bất thường\r\n- Cùng đồ sau và ổ bụng: Không có dịch.","kythuat" : "Siêu âm màu 4D ()","dain" : false,"is_deleted" : false
}
]
}
我得到的结果是180条记录,但是响应是如此缓慢(〜等于27 s)。我想优化查询以更快地获得结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。