Bạn có thể sử dụng truy vấn bên dưới với $elemMatch
để khớp với cả hai giá trị của mảng.
Một cái gì đó giống như
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property.0": "attr1",
"property.1": /^\+/
}
}
}
});
Ngoài ra, bạn có thể sử dụng $all
nếu bạn không muốn tham chiếu đến chỉ mục mảng.
db.collection_name.aggregate({
"$match": {
"item": {
"$elemMatch": {
"property": {
"$all": [
"attr1",
/^\+/
]
}
}
}
}
});